| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "content/browser/loader/mime_sniffing_resource_handler.h" | 5 #include "content/browser/loader/mime_sniffing_resource_handler.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| 11 #include "base/files/file_path.h" | 11 #include "base/files/file_path.h" |
| 12 #include "base/location.h" | 12 #include "base/location.h" |
| 13 #include "base/logging.h" | 13 #include "base/logging.h" |
| 14 #include "base/macros.h" | 14 #include "base/macros.h" |
| 15 #include "base/memory/ptr_util.h" | 15 #include "base/memory/ptr_util.h" |
| 16 #include "base/single_thread_task_runner.h" | 16 #include "base/single_thread_task_runner.h" |
| 17 #include "base/threading/thread_task_runner_handle.h" | 17 #include "base/threading/thread_task_runner_handle.h" |
| 18 #include "content/browser/loader/intercepting_resource_handler.h" | 18 #include "content/browser/loader/intercepting_resource_handler.h" |
| 19 #include "content/browser/loader/resource_controller.h" | 19 #include "content/browser/loader/resource_controller.h" |
| 20 #include "content/browser/loader/resource_dispatcher_host_impl.h" | 20 #include "content/browser/loader/resource_dispatcher_host_impl.h" |
| 21 #include "content/browser/loader/test_resource_handler.h" | 21 #include "content/browser/loader/test_resource_handler.h" |
| 22 #include "content/public/browser/resource_dispatcher_host_delegate.h" | 22 #include "content/public/browser/resource_dispatcher_host_delegate.h" |
| 23 #include "content/public/browser/resource_request_info.h" | 23 #include "content/public/browser/resource_request_info.h" |
| 24 #include "content/public/common/previews_state.h" |
| 24 #include "content/public/common/resource_response.h" | 25 #include "content/public/common/resource_response.h" |
| 25 #include "content/public/common/webplugininfo.h" | 26 #include "content/public/common/webplugininfo.h" |
| 26 #include "content/public/test/test_browser_thread_bundle.h" | 27 #include "content/public/test/test_browser_thread_bundle.h" |
| 27 #include "content/public/test/test_utils.h" | 28 #include "content/public/test/test_utils.h" |
| 28 #include "content/test/fake_plugin_service.h" | 29 #include "content/test/fake_plugin_service.h" |
| 29 #include "net/url_request/url_request_context.h" | 30 #include "net/url_request/url_request_context.h" |
| 30 #include "ppapi/features/features.h" | 31 #include "ppapi/features/features.h" |
| 31 #include "testing/gtest/include/gtest/gtest.h" | 32 #include "testing/gtest/include/gtest/gtest.h" |
| 32 #include "url/gurl.h" | 33 #include "url/gurl.h" |
| 33 #include "url/origin.h" | 34 #include "url/origin.h" |
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 241 MimeSniffingResourceHandlerTest::TestAcceptHeaderSettingWithURLRequest( | 242 MimeSniffingResourceHandlerTest::TestAcceptHeaderSettingWithURLRequest( |
| 242 ResourceType request_resource_type, | 243 ResourceType request_resource_type, |
| 243 net::URLRequest* request) { | 244 net::URLRequest* request) { |
| 244 bool is_main_frame = request_resource_type == RESOURCE_TYPE_MAIN_FRAME; | 245 bool is_main_frame = request_resource_type == RESOURCE_TYPE_MAIN_FRAME; |
| 245 ResourceRequestInfo::AllocateForTesting(request, request_resource_type, | 246 ResourceRequestInfo::AllocateForTesting(request, request_resource_type, |
| 246 nullptr, // context | 247 nullptr, // context |
| 247 0, // render_process_id | 248 0, // render_process_id |
| 248 0, // render_view_id | 249 0, // render_view_id |
| 249 0, // render_frame_id | 250 0, // render_frame_id |
| 250 is_main_frame, // is_main_frame | 251 is_main_frame, // is_main_frame |
| 251 false, // parent_is_main_frame | 252 false, // parent_is_main_frame |
| 252 false, // allow_download | 253 false, // allow_download |
| 253 true, // is_async | 254 true, // is_async |
| 254 false); // is_using_lofi | 255 PREVIEWS_OFF); // previews_state |
| 255 | 256 |
| 256 std::unique_ptr<TestResourceHandler> scoped_test_handler( | 257 std::unique_ptr<TestResourceHandler> scoped_test_handler( |
| 257 new TestResourceHandler()); | 258 new TestResourceHandler()); |
| 258 scoped_test_handler->set_on_response_started_result(false); | 259 scoped_test_handler->set_on_response_started_result(false); |
| 259 | 260 |
| 260 std::unique_ptr<ResourceHandler> mime_sniffing_handler( | 261 std::unique_ptr<ResourceHandler> mime_sniffing_handler( |
| 261 new MimeSniffingResourceHandler(std::move(scoped_test_handler), nullptr, | 262 new MimeSniffingResourceHandler(std::move(scoped_test_handler), nullptr, |
| 262 nullptr, nullptr, request, | 263 nullptr, nullptr, request, |
| 263 REQUEST_CONTEXT_TYPE_UNSPECIFIED)); | 264 REQUEST_CONTEXT_TYPE_UNSPECIFIED)); |
| 264 | 265 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 281 bool is_main_frame = request_resource_type == RESOURCE_TYPE_MAIN_FRAME; | 282 bool is_main_frame = request_resource_type == RESOURCE_TYPE_MAIN_FRAME; |
| 282 ResourceRequestInfo::AllocateForTesting(request.get(), request_resource_type, | 283 ResourceRequestInfo::AllocateForTesting(request.get(), request_resource_type, |
| 283 nullptr, // context | 284 nullptr, // context |
| 284 0, // render_process_id | 285 0, // render_process_id |
| 285 0, // render_view_id | 286 0, // render_view_id |
| 286 0, // render_frame_id | 287 0, // render_frame_id |
| 287 is_main_frame, // is_main_frame | 288 is_main_frame, // is_main_frame |
| 288 false, // parent_is_main_frame | 289 false, // parent_is_main_frame |
| 289 allow_download, // allow_download | 290 allow_download, // allow_download |
| 290 true, // is_async | 291 true, // is_async |
| 291 false); // is_using_lofi | 292 PREVIEWS_OFF); // previews_state |
| 292 | 293 |
| 293 TestResourceDispatcherHost host(stream_has_handler_); | 294 TestResourceDispatcherHost host(stream_has_handler_); |
| 294 TestResourceDispatcherHostDelegate host_delegate(must_download); | 295 TestResourceDispatcherHostDelegate host_delegate(must_download); |
| 295 host.SetDelegate(&host_delegate); | 296 host.SetDelegate(&host_delegate); |
| 296 | 297 |
| 297 TestFakePluginService plugin_service(plugin_available_, plugin_stale_); | 298 TestFakePluginService plugin_service(plugin_available_, plugin_stale_); |
| 298 | 299 |
| 299 std::unique_ptr<InterceptingResourceHandler> intercepting_handler( | 300 std::unique_ptr<InterceptingResourceHandler> intercepting_handler( |
| 300 new InterceptingResourceHandler(base::MakeUnique<TestResourceHandler>(), | 301 new InterceptingResourceHandler(base::MakeUnique<TestResourceHandler>(), |
| 301 nullptr)); | 302 nullptr)); |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 339 ResourceRequestInfo::AllocateForTesting(request.get(), | 340 ResourceRequestInfo::AllocateForTesting(request.get(), |
| 340 RESOURCE_TYPE_MAIN_FRAME, | 341 RESOURCE_TYPE_MAIN_FRAME, |
| 341 nullptr, // context | 342 nullptr, // context |
| 342 0, // render_process_id | 343 0, // render_process_id |
| 343 0, // render_view_id | 344 0, // render_view_id |
| 344 0, // render_frame_id | 345 0, // render_frame_id |
| 345 true, // is_main_frame | 346 true, // is_main_frame |
| 346 false, // parent_is_main_frame | 347 false, // parent_is_main_frame |
| 347 false, // allow_download | 348 false, // allow_download |
| 348 true, // is_async | 349 true, // is_async |
| 349 false); // is_using_lofi | 350 PREVIEWS_OFF); // previews_state |
| 350 | 351 |
| 351 TestResourceDispatcherHost host(false); | 352 TestResourceDispatcherHost host(false); |
| 352 TestResourceDispatcherHostDelegate host_delegate(false); | 353 TestResourceDispatcherHostDelegate host_delegate(false); |
| 353 host.SetDelegate(&host_delegate); | 354 host.SetDelegate(&host_delegate); |
| 354 | 355 |
| 355 TestFakePluginService plugin_service(plugin_available_, plugin_stale_); | 356 TestFakePluginService plugin_service(plugin_available_, plugin_stale_); |
| 356 std::unique_ptr<InterceptingResourceHandler> intercepting_handler( | 357 std::unique_ptr<InterceptingResourceHandler> intercepting_handler( |
| 357 new InterceptingResourceHandler(base::MakeUnique<TestResourceHandler>(), | 358 new InterceptingResourceHandler(base::MakeUnique<TestResourceHandler>(), |
| 358 nullptr)); | 359 nullptr)); |
| 359 | 360 |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 504 ResourceRequestInfo::AllocateForTesting(request.get(), | 505 ResourceRequestInfo::AllocateForTesting(request.get(), |
| 505 RESOURCE_TYPE_MAIN_FRAME, | 506 RESOURCE_TYPE_MAIN_FRAME, |
| 506 nullptr, // context | 507 nullptr, // context |
| 507 0, // render_process_id | 508 0, // render_process_id |
| 508 0, // render_view_id | 509 0, // render_view_id |
| 509 0, // render_frame_id | 510 0, // render_frame_id |
| 510 true, // is_main_frame | 511 true, // is_main_frame |
| 511 false, // parent_is_main_frame | 512 false, // parent_is_main_frame |
| 512 false, // allow_download | 513 false, // allow_download |
| 513 true, // is_async | 514 true, // is_async |
| 514 false); // is_using_lofi | 515 PREVIEWS_OFF); // previews_state |
| 515 | 516 |
| 516 TestResourceDispatcherHost host(false); | 517 TestResourceDispatcherHost host(false); |
| 517 TestResourceDispatcherHostDelegate host_delegate(false); | 518 TestResourceDispatcherHostDelegate host_delegate(false); |
| 518 host.SetDelegate(&host_delegate); | 519 host.SetDelegate(&host_delegate); |
| 519 | 520 |
| 520 TestFakePluginService plugin_service(plugin_available_, plugin_stale_); | 521 TestFakePluginService plugin_service(plugin_available_, plugin_stale_); |
| 521 std::unique_ptr<InterceptingResourceHandler> intercepting_handler( | 522 std::unique_ptr<InterceptingResourceHandler> intercepting_handler( |
| 522 new InterceptingResourceHandler(base::MakeUnique<TestResourceHandler>(), | 523 new InterceptingResourceHandler(base::MakeUnique<TestResourceHandler>(), |
| 523 nullptr)); | 524 nullptr)); |
| 524 | 525 |
| (...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 901 ResourceRequestInfo::AllocateForTesting(request.get(), | 902 ResourceRequestInfo::AllocateForTesting(request.get(), |
| 902 RESOURCE_TYPE_MAIN_FRAME, | 903 RESOURCE_TYPE_MAIN_FRAME, |
| 903 nullptr, // context | 904 nullptr, // context |
| 904 0, // render_process_id | 905 0, // render_process_id |
| 905 0, // render_view_id | 906 0, // render_view_id |
| 906 0, // render_frame_id | 907 0, // render_frame_id |
| 907 true, // is_main_frame | 908 true, // is_main_frame |
| 908 false, // parent_is_main_frame | 909 false, // parent_is_main_frame |
| 909 true, // allow_download | 910 true, // allow_download |
| 910 true, // is_async | 911 true, // is_async |
| 911 false); // is_using_lofi | 912 PREVIEWS_OFF); // previews_state |
| 912 | 913 |
| 913 TestResourceDispatcherHost host(false); | 914 TestResourceDispatcherHost host(false); |
| 914 TestResourceDispatcherHostDelegate host_delegate(false); | 915 TestResourceDispatcherHostDelegate host_delegate(false); |
| 915 host.SetDelegate(&host_delegate); | 916 host.SetDelegate(&host_delegate); |
| 916 | 917 |
| 917 TestFakePluginService plugin_service(false, false); | 918 TestFakePluginService plugin_service(false, false); |
| 918 std::unique_ptr<ResourceHandler> intercepting_handler( | 919 std::unique_ptr<ResourceHandler> intercepting_handler( |
| 919 new InterceptingResourceHandler(base::MakeUnique<TestResourceHandler>(), | 920 new InterceptingResourceHandler(base::MakeUnique<TestResourceHandler>(), |
| 920 nullptr)); | 921 nullptr)); |
| 921 std::unique_ptr<ResourceHandler> mime_handler(new MimeSniffingResourceHandler( | 922 std::unique_ptr<ResourceHandler> mime_handler(new MimeSniffingResourceHandler( |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 954 ResourceRequestInfo::AllocateForTesting(request.get(), | 955 ResourceRequestInfo::AllocateForTesting(request.get(), |
| 955 RESOURCE_TYPE_MAIN_FRAME, | 956 RESOURCE_TYPE_MAIN_FRAME, |
| 956 nullptr, // context | 957 nullptr, // context |
| 957 0, // render_process_id | 958 0, // render_process_id |
| 958 0, // render_view_id | 959 0, // render_view_id |
| 959 0, // render_frame_id | 960 0, // render_frame_id |
| 960 true, // is_main_frame | 961 true, // is_main_frame |
| 961 false, // parent_is_main_frame | 962 false, // parent_is_main_frame |
| 962 false, // allow_download | 963 false, // allow_download |
| 963 true, // is_async | 964 true, // is_async |
| 964 false); // is_using_lofi | 965 PREVIEWS_OFF); // previews_state |
| 965 | 966 |
| 966 TestResourceDispatcherHost host(false); | 967 TestResourceDispatcherHost host(false); |
| 967 | 968 |
| 968 TestFakePluginService plugin_service(false, false); | 969 TestFakePluginService plugin_service(false, false); |
| 969 std::unique_ptr<InterceptingResourceHandler> intercepting_handler( | 970 std::unique_ptr<InterceptingResourceHandler> intercepting_handler( |
| 970 new InterceptingResourceHandler(base::MakeUnique<TestResourceHandler>(), | 971 new InterceptingResourceHandler(base::MakeUnique<TestResourceHandler>(), |
| 971 nullptr)); | 972 nullptr)); |
| 972 | 973 |
| 973 std::unique_ptr<TestResourceHandler> scoped_test_handler( | 974 std::unique_ptr<TestResourceHandler> scoped_test_handler( |
| 974 new TestResourceHandler()); | 975 new TestResourceHandler()); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 993 // mime sniffing is disabled and the wrapped resource handler returns false | 994 // mime sniffing is disabled and the wrapped resource handler returns false |
| 994 // on OnResponseStarted. | 995 // on OnResponseStarted. |
| 995 EXPECT_FALSE( | 996 EXPECT_FALSE( |
| 996 mime_sniffing_handler->OnResponseStarted(response.get(), &defer)); | 997 mime_sniffing_handler->OnResponseStarted(response.get(), &defer)); |
| 997 | 998 |
| 998 // Process all messages to ensure proper test teardown. | 999 // Process all messages to ensure proper test teardown. |
| 999 content::RunAllPendingInMessageLoop(); | 1000 content::RunAllPendingInMessageLoop(); |
| 1000 } | 1001 } |
| 1001 | 1002 |
| 1002 } // namespace content | 1003 } // namespace content |
| OLD | NEW |