Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(493)

Side by Side Diff: content/browser/loader/mojo_async_resource_handler_unittest.cc

Issue 2715423003: [Mojo-Loading] Use independent URLLoaderClient (Closed)
Patch Set: fix Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/mojo_async_resource_handler.h" 5 #include "content/browser/loader/mojo_async_resource_handler.h"
6 6
7 #include <string.h> 7 #include <string.h>
8 8
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 DISALLOW_COPY_AND_ASSIGN(TestResourceDispatcherHostDelegate); 214 DISALLOW_COPY_AND_ASSIGN(TestResourceDispatcherHostDelegate);
215 }; 215 };
216 216
217 class MojoAsyncResourceHandlerWithStubOperations 217 class MojoAsyncResourceHandlerWithStubOperations
218 : public MojoAsyncResourceHandler { 218 : public MojoAsyncResourceHandler {
219 public: 219 public:
220 MojoAsyncResourceHandlerWithStubOperations( 220 MojoAsyncResourceHandlerWithStubOperations(
221 net::URLRequest* request, 221 net::URLRequest* request,
222 ResourceDispatcherHostImpl* rdh, 222 ResourceDispatcherHostImpl* rdh,
223 mojom::URLLoaderAssociatedRequest mojo_request, 223 mojom::URLLoaderAssociatedRequest mojo_request,
224 mojom::URLLoaderClientAssociatedPtr url_loader_client) 224 mojom::URLLoaderClientPtr url_loader_client)
225 : MojoAsyncResourceHandler(request, 225 : MojoAsyncResourceHandler(request,
226 rdh, 226 rdh,
227 std::move(mojo_request), 227 std::move(mojo_request),
228 std::move(url_loader_client), 228 std::move(url_loader_client),
229 RESOURCE_TYPE_MAIN_FRAME), 229 RESOURCE_TYPE_MAIN_FRAME),
230 task_runner_(new base::TestSimpleTaskRunner) {} 230 task_runner_(new base::TestSimpleTaskRunner) {}
231 ~MojoAsyncResourceHandlerWithStubOperations() override {} 231 ~MojoAsyncResourceHandlerWithStubOperations() override {}
232 232
233 void ResetBeginWriteExpectation() { is_begin_write_expectation_set_ = false; } 233 void ResetBeginWriteExpectation() { is_begin_write_expectation_set_ = false; }
234 234
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 scoped_refptr<base::TestSimpleTaskRunner> task_runner_; 296 scoped_refptr<base::TestSimpleTaskRunner> task_runner_;
297 297
298 DISALLOW_COPY_AND_ASSIGN(MojoAsyncResourceHandlerWithStubOperations); 298 DISALLOW_COPY_AND_ASSIGN(MojoAsyncResourceHandlerWithStubOperations);
299 }; 299 };
300 300
301 class TestURLLoaderFactory final : public mojom::URLLoaderFactory { 301 class TestURLLoaderFactory final : public mojom::URLLoaderFactory {
302 public: 302 public:
303 TestURLLoaderFactory() {} 303 TestURLLoaderFactory() {}
304 ~TestURLLoaderFactory() override {} 304 ~TestURLLoaderFactory() override {}
305 305
306 void CreateLoaderAndStart( 306 void CreateLoaderAndStart(mojom::URLLoaderAssociatedRequest request,
307 mojom::URLLoaderAssociatedRequest request, 307 int32_t routing_id,
308 int32_t routing_id, 308 int32_t request_id,
309 int32_t request_id, 309 const ResourceRequest& url_request,
310 const ResourceRequest& url_request, 310 mojom::URLLoaderClientPtr client_ptr) override {
311 mojom::URLLoaderClientAssociatedPtrInfo client_ptr_info) override {
312 loader_request_ = std::move(request); 311 loader_request_ = std::move(request);
313 client_ptr_info_ = std::move(client_ptr_info); 312 client_ptr_ = std::move(client_ptr);
314 } 313 }
315 314
316 mojom::URLLoaderAssociatedRequest PassLoaderRequest() { 315 mojom::URLLoaderAssociatedRequest PassLoaderRequest() {
317 return std::move(loader_request_); 316 return std::move(loader_request_);
318 } 317 }
319 318
320 mojom::URLLoaderClientAssociatedPtrInfo PassClientPtrInfo() { 319 mojom::URLLoaderClientPtr PassClientPtr() { return std::move(client_ptr_); }
321 return std::move(client_ptr_info_);
322 }
323 320
324 void SyncLoad(int32_t routing_id, 321 void SyncLoad(int32_t routing_id,
325 int32_t request_id, 322 int32_t request_id,
326 const ResourceRequest& url_request, 323 const ResourceRequest& url_request,
327 const SyncLoadCallback& callback) override { 324 const SyncLoadCallback& callback) override {
328 NOTREACHED(); 325 NOTREACHED();
329 } 326 }
330 327
331 private: 328 private:
332 mojom::URLLoaderAssociatedRequest loader_request_; 329 mojom::URLLoaderAssociatedRequest loader_request_;
333 mojom::URLLoaderClientAssociatedPtrInfo client_ptr_info_; 330 mojom::URLLoaderClientPtr client_ptr_;
334 331
335 DISALLOW_COPY_AND_ASSIGN(TestURLLoaderFactory); 332 DISALLOW_COPY_AND_ASSIGN(TestURLLoaderFactory);
336 }; 333 };
337 334
338 class MojoAsyncResourceHandlerTestBase { 335 class MojoAsyncResourceHandlerTestBase {
339 public: 336 public:
340 explicit MojoAsyncResourceHandlerTestBase( 337 explicit MojoAsyncResourceHandlerTestBase(
341 std::unique_ptr<net::UploadDataStream> upload_stream) 338 std::unique_ptr<net::UploadDataStream> upload_stream)
342 : thread_bundle_(TestBrowserThreadBundle::IO_MAINLOOP), 339 : thread_bundle_(TestBrowserThreadBundle::IO_MAINLOOP),
343 browser_context_(new TestBrowserContext()) { 340 browser_context_(new TestBrowserContext()) {
(...skipping 21 matching lines...) Expand all
365 PREVIEWS_OFF // previews_state 362 PREVIEWS_OFF // previews_state
366 ); 363 );
367 364
368 ResourceRequest request; 365 ResourceRequest request;
369 base::WeakPtr<mojo::StrongBinding<mojom::URLLoaderFactory>> weak_binding = 366 base::WeakPtr<mojo::StrongBinding<mojom::URLLoaderFactory>> weak_binding =
370 mojo::MakeStrongBinding(base::MakeUnique<TestURLLoaderFactory>(), 367 mojo::MakeStrongBinding(base::MakeUnique<TestURLLoaderFactory>(),
371 mojo::MakeRequest(&url_loader_factory_)); 368 mojo::MakeRequest(&url_loader_factory_));
372 369
373 url_loader_factory_->CreateLoaderAndStart( 370 url_loader_factory_->CreateLoaderAndStart(
374 mojo::MakeRequest(&url_loader_proxy_), kRouteId, kRequestId, request, 371 mojo::MakeRequest(&url_loader_proxy_), kRouteId, kRequestId, request,
375 url_loader_client_.CreateRemoteAssociatedPtrInfo()); 372 url_loader_client_.CreateInterfacePtr());
376 373
377 url_loader_factory_.FlushForTesting(); 374 url_loader_factory_.FlushForTesting();
378 DCHECK(weak_binding); 375 DCHECK(weak_binding);
379 TestURLLoaderFactory* factory_impl = 376 TestURLLoaderFactory* factory_impl =
380 static_cast<TestURLLoaderFactory*>(weak_binding->impl()); 377 static_cast<TestURLLoaderFactory*>(weak_binding->impl());
381 378
382 mojom::URLLoaderClientAssociatedPtr client_ptr;
383 client_ptr.Bind(factory_impl->PassClientPtrInfo());
384 handler_.reset(new MojoAsyncResourceHandlerWithStubOperations( 379 handler_.reset(new MojoAsyncResourceHandlerWithStubOperations(
385 request_.get(), &rdh_, factory_impl->PassLoaderRequest(), 380 request_.get(), &rdh_, factory_impl->PassLoaderRequest(),
386 std::move(client_ptr))); 381 factory_impl->PassClientPtr()));
387 mock_loader_.reset(new MockResourceLoader(handler_.get())); 382 mock_loader_.reset(new MockResourceLoader(handler_.get()));
388 } 383 }
389 384
390 virtual ~MojoAsyncResourceHandlerTestBase() { 385 virtual ~MojoAsyncResourceHandlerTestBase() {
391 MojoAsyncResourceHandler::SetAllocationSizeForTesting( 386 MojoAsyncResourceHandler::SetAllocationSizeForTesting(
392 MojoAsyncResourceHandler::kDefaultAllocationSize); 387 MojoAsyncResourceHandler::kDefaultAllocationSize);
393 base::RunLoop().RunUntilIdle(); 388 base::RunLoop().RunUntilIdle();
394 } 389 }
395 390
396 // Returns false if something bad happens. 391 // Returns false if something bad happens.
(...skipping 883 matching lines...) Expand 10 before | Expand all | Expand 10 after
1280 } 1275 }
1281 } 1276 }
1282 EXPECT_EQ("B", body); 1277 EXPECT_EQ("B", body);
1283 } 1278 }
1284 1279
1285 INSTANTIATE_TEST_CASE_P(MojoAsyncResourceHandlerWithAllocationSizeTest, 1280 INSTANTIATE_TEST_CASE_P(MojoAsyncResourceHandlerWithAllocationSizeTest,
1286 MojoAsyncResourceHandlerWithAllocationSizeTest, 1281 MojoAsyncResourceHandlerWithAllocationSizeTest,
1287 ::testing::Values(8, 32 * 2014)); 1282 ::testing::Values(8, 32 * 2014));
1288 } // namespace 1283 } // namespace
1289 } // namespace content 1284 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698