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

Side by Side Diff: content/browser/service_worker/service_worker_url_request_job_unittest.cc

Issue 2218943002: Introduce ServiceWorker.EventDispatchingDelay UMA (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: diff from https://codereview.chromium.org/2249063004/#ps40001 Created 4 years, 4 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 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/service_worker/service_worker_url_request_job.h" 5 #include "content/browser/service_worker/service_worker_url_request_job.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <utility> 10 #include <utility>
11 #include <vector> 11 #include <vector>
12 12
13 #include "base/callback.h" 13 #include "base/callback.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/message_loop/message_loop.h" 16 #include "base/message_loop/message_loop.h"
17 #include "base/run_loop.h" 17 #include "base/run_loop.h"
18 #include "base/single_thread_task_runner.h" 18 #include "base/single_thread_task_runner.h"
19 #include "base/threading/thread_task_runner_handle.h" 19 #include "base/threading/thread_task_runner_handle.h"
20 #include "base/time/time.h"
20 #include "content/browser/blob_storage/chrome_blob_storage_context.h" 21 #include "content/browser/blob_storage/chrome_blob_storage_context.h"
21 #include "content/browser/fileapi/mock_url_request_delegate.h" 22 #include "content/browser/fileapi/mock_url_request_delegate.h"
22 #include "content/browser/resource_context_impl.h" 23 #include "content/browser/resource_context_impl.h"
23 #include "content/browser/service_worker/embedded_worker_registry.h" 24 #include "content/browser/service_worker/embedded_worker_registry.h"
24 #include "content/browser/service_worker/embedded_worker_test_helper.h" 25 #include "content/browser/service_worker/embedded_worker_test_helper.h"
25 #include "content/browser/service_worker/service_worker_context_core.h" 26 #include "content/browser/service_worker/service_worker_context_core.h"
26 #include "content/browser/service_worker/service_worker_provider_host.h" 27 #include "content/browser/service_worker/service_worker_provider_host.h"
27 #include "content/browser/service_worker/service_worker_registration.h" 28 #include "content/browser/service_worker/service_worker_registration.h"
28 #include "content/browser/service_worker/service_worker_response_info.h" 29 #include "content/browser/service_worker/service_worker_response_info.h"
29 #include "content/browser/service_worker/service_worker_test_utils.h" 30 #include "content/browser/service_worker/service_worker_test_utils.h"
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 context()->RemoveProviderHost(mock_render_process_id(), kProviderID); 369 context()->RemoveProviderHost(mock_render_process_id(), kProviderID);
369 SimulateSend(new ServiceWorkerHostMsg_FetchEventResponse( 370 SimulateSend(new ServiceWorkerHostMsg_FetchEventResponse(
370 embedded_worker_id, response_id, 371 embedded_worker_id, response_id,
371 SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, 372 SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE,
372 ServiceWorkerResponse( 373 ServiceWorkerResponse(
373 GURL(), 200, "OK", blink::WebServiceWorkerResponseTypeDefault, 374 GURL(), 200, "OK", blink::WebServiceWorkerResponseTypeDefault,
374 ServiceWorkerHeaderMap(), std::string(), 0, GURL(), 375 ServiceWorkerHeaderMap(), std::string(), 0, GURL(),
375 blink::WebServiceWorkerResponseErrorUnknown, base::Time(), 376 blink::WebServiceWorkerResponseErrorUnknown, base::Time(),
376 false /* response_is_in_cache_storage */, 377 false /* response_is_in_cache_storage */,
377 std::string() /* response_cache_storage_cache_name */, 378 std::string() /* response_cache_storage_cache_name */,
378 ServiceWorkerHeaderList() /* cors_exposed_header_names */))); 379 ServiceWorkerHeaderList() /* cors_exposed_header_names */),
380 base::Time::Now()));
379 SimulateSend(new ServiceWorkerHostMsg_FetchEventFinished( 381 SimulateSend(new ServiceWorkerHostMsg_FetchEventFinished(
380 embedded_worker_id, event_finish_id, 382 embedded_worker_id, event_finish_id,
381 blink::WebServiceWorkerEventResultCompleted)); 383 blink::WebServiceWorkerEventResultCompleted));
382 } 384 }
383 385
384 private: 386 private:
385 DISALLOW_COPY_AND_ASSIGN(ProviderDeleteHelper); 387 DISALLOW_COPY_AND_ASSIGN(ProviderDeleteHelper);
386 }; 388 };
387 389
388 TEST_F(ServiceWorkerURLRequestJobTest, DeletedProviderHostOnFetchEvent) { 390 TEST_F(ServiceWorkerURLRequestJobTest, DeletedProviderHostOnFetchEvent) {
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
451 const ServiceWorkerFetchRequest& request) override { 453 const ServiceWorkerFetchRequest& request) override {
452 SimulateSend(new ServiceWorkerHostMsg_FetchEventResponse( 454 SimulateSend(new ServiceWorkerHostMsg_FetchEventResponse(
453 embedded_worker_id, response_id, 455 embedded_worker_id, response_id,
454 SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, 456 SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE,
455 ServiceWorkerResponse( 457 ServiceWorkerResponse(
456 GURL(), 200, "OK", blink::WebServiceWorkerResponseTypeDefault, 458 GURL(), 200, "OK", blink::WebServiceWorkerResponseTypeDefault,
457 ServiceWorkerHeaderMap(), blob_uuid_, blob_size_, GURL(), 459 ServiceWorkerHeaderMap(), blob_uuid_, blob_size_, GURL(),
458 blink::WebServiceWorkerResponseErrorUnknown, base::Time(), 460 blink::WebServiceWorkerResponseErrorUnknown, base::Time(),
459 false /* response_is_in_cache_storage */, 461 false /* response_is_in_cache_storage */,
460 std::string() /* response_cache_storage_cache_name */, 462 std::string() /* response_cache_storage_cache_name */,
461 ServiceWorkerHeaderList() /* cors_exposed_header_names */))); 463 ServiceWorkerHeaderList() /* cors_exposed_header_names */),
464 base::Time::Now()));
462 SimulateSend(new ServiceWorkerHostMsg_FetchEventFinished( 465 SimulateSend(new ServiceWorkerHostMsg_FetchEventFinished(
463 embedded_worker_id, event_finish_id, 466 embedded_worker_id, event_finish_id,
464 blink::WebServiceWorkerEventResultCompleted)); 467 blink::WebServiceWorkerEventResultCompleted));
465 } 468 }
466 469
467 std::string blob_uuid_; 470 std::string blob_uuid_;
468 uint64_t blob_size_; 471 uint64_t blob_size_;
469 472
470 private: 473 private:
471 DISALLOW_COPY_AND_ASSIGN(BlobResponder); 474 DISALLOW_COPY_AND_ASSIGN(BlobResponder);
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
534 const ServiceWorkerFetchRequest& request) override { 537 const ServiceWorkerFetchRequest& request) override {
535 SimulateSend(new ServiceWorkerHostMsg_FetchEventResponse( 538 SimulateSend(new ServiceWorkerHostMsg_FetchEventResponse(
536 embedded_worker_id, response_id, 539 embedded_worker_id, response_id,
537 SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, 540 SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE,
538 ServiceWorkerResponse( 541 ServiceWorkerResponse(
539 GURL(), 200, "OK", blink::WebServiceWorkerResponseTypeDefault, 542 GURL(), 200, "OK", blink::WebServiceWorkerResponseTypeDefault,
540 ServiceWorkerHeaderMap(), "", 0, stream_url_, 543 ServiceWorkerHeaderMap(), "", 0, stream_url_,
541 blink::WebServiceWorkerResponseErrorUnknown, base::Time(), 544 blink::WebServiceWorkerResponseErrorUnknown, base::Time(),
542 false /* response_is_in_cache_storage */, 545 false /* response_is_in_cache_storage */,
543 std::string() /* response_cache_storage_cache_name */, 546 std::string() /* response_cache_storage_cache_name */,
544 ServiceWorkerHeaderList() /* cors_exposed_header_names */))); 547 ServiceWorkerHeaderList() /* cors_exposed_header_names */),
548 base::Time::Now()));
545 SimulateSend(new ServiceWorkerHostMsg_FetchEventFinished( 549 SimulateSend(new ServiceWorkerHostMsg_FetchEventFinished(
546 embedded_worker_id, event_finish_id, 550 embedded_worker_id, event_finish_id,
547 blink::WebServiceWorkerEventResultCompleted)); 551 blink::WebServiceWorkerEventResultCompleted));
548 } 552 }
549 553
550 const GURL stream_url_; 554 const GURL stream_url_;
551 555
552 private: 556 private:
553 DISALLOW_COPY_AND_ASSIGN(StreamResponder); 557 DISALLOW_COPY_AND_ASSIGN(StreamResponder);
554 }; 558 };
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after
963 event_finish_id_ = event_finish_id; 967 event_finish_id_ = event_finish_id;
964 SimulateSend(new ServiceWorkerHostMsg_FetchEventResponse( 968 SimulateSend(new ServiceWorkerHostMsg_FetchEventResponse(
965 embedded_worker_id, response_id, 969 embedded_worker_id, response_id,
966 SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, 970 SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE,
967 ServiceWorkerResponse( 971 ServiceWorkerResponse(
968 GURL(), 200, "OK", blink::WebServiceWorkerResponseTypeDefault, 972 GURL(), 200, "OK", blink::WebServiceWorkerResponseTypeDefault,
969 ServiceWorkerHeaderMap(), std::string(), 0, GURL(), 973 ServiceWorkerHeaderMap(), std::string(), 0, GURL(),
970 blink::WebServiceWorkerResponseErrorUnknown, base::Time(), 974 blink::WebServiceWorkerResponseErrorUnknown, base::Time(),
971 false /* response_is_in_cache_storage */, 975 false /* response_is_in_cache_storage */,
972 std::string() /* response_cache_storage_cache_name */, 976 std::string() /* response_cache_storage_cache_name */,
973 ServiceWorkerHeaderList() /* cors_exposed_header_names */))); 977 ServiceWorkerHeaderList() /* cors_exposed_header_names */),
978 base::Time::Now()));
974 } 979 }
975 980
976 private: 981 private:
977 int embedded_worker_id_ = 0; 982 int embedded_worker_id_ = 0;
978 int event_finish_id_ = 0; 983 int event_finish_id_ = 0;
979 DISALLOW_COPY_AND_ASSIGN(EarlyResponseHelper); 984 DISALLOW_COPY_AND_ASSIGN(EarlyResponseHelper);
980 }; 985 };
981 986
982 // This simulates the case when a response is returned and the fetch event is 987 // This simulates the case when a response is returned and the fetch event is
983 // still in flight. 988 // still in flight.
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1016 void Respond() { 1021 void Respond() {
1017 SimulateSend(new ServiceWorkerHostMsg_FetchEventResponse( 1022 SimulateSend(new ServiceWorkerHostMsg_FetchEventResponse(
1018 embedded_worker_id_, response_id_, 1023 embedded_worker_id_, response_id_,
1019 SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, 1024 SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE,
1020 ServiceWorkerResponse( 1025 ServiceWorkerResponse(
1021 GURL(), 200, "OK", blink::WebServiceWorkerResponseTypeDefault, 1026 GURL(), 200, "OK", blink::WebServiceWorkerResponseTypeDefault,
1022 ServiceWorkerHeaderMap(), std::string(), 0, GURL(), 1027 ServiceWorkerHeaderMap(), std::string(), 0, GURL(),
1023 blink::WebServiceWorkerResponseErrorUnknown, base::Time(), 1028 blink::WebServiceWorkerResponseErrorUnknown, base::Time(),
1024 false /* response_is_in_cache_storage */, 1029 false /* response_is_in_cache_storage */,
1025 std::string() /* response_cache_storage_cache_name */, 1030 std::string() /* response_cache_storage_cache_name */,
1026 ServiceWorkerHeaderList() /* cors_exposed_header_names */))); 1031 ServiceWorkerHeaderList() /* cors_exposed_header_names */),
1032 base::Time::Now()));
1027 SimulateSend(new ServiceWorkerHostMsg_FetchEventFinished( 1033 SimulateSend(new ServiceWorkerHostMsg_FetchEventFinished(
1028 embedded_worker_id_, event_finish_id_, 1034 embedded_worker_id_, event_finish_id_,
1029 blink::WebServiceWorkerEventResultCompleted)); 1035 blink::WebServiceWorkerEventResultCompleted));
1030 } 1036 }
1031 1037
1032 protected: 1038 protected:
1033 void OnFetchEvent(int embedded_worker_id, 1039 void OnFetchEvent(int embedded_worker_id,
1034 int response_id, 1040 int response_id,
1035 int event_finish_id, 1041 int event_finish_id,
1036 const ServiceWorkerFetchRequest& request) override { 1042 const ServiceWorkerFetchRequest& request) override {
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1071 base::RunLoop().RunUntilIdle(); 1077 base::RunLoop().RunUntilIdle();
1072 1078
1073 // The fetch event request should no longer be in-flight. 1079 // The fetch event request should no longer be in-flight.
1074 EXPECT_FALSE(version_->HasWork()); 1080 EXPECT_FALSE(version_->HasWork());
1075 } 1081 }
1076 1082
1077 // TODO(kinuko): Add more tests with different response data and also for 1083 // TODO(kinuko): Add more tests with different response data and also for
1078 // FallbackToNetwork case. 1084 // FallbackToNetwork case.
1079 1085
1080 } // namespace content 1086 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698