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

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

Issue 2315613002: Extracted NetLog class's inner enum types into their own enum classes and (Closed)
Patch Set: Ran "git cl format" on code. Much formatting ensued. Created 4 years, 3 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 <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <limits> 10 #include <limits>
(...skipping 22 matching lines...) Expand all
33 #include "content/public/browser/blob_handle.h" 33 #include "content/public/browser/blob_handle.h"
34 #include "content/public/browser/resource_request_info.h" 34 #include "content/public/browser/resource_request_info.h"
35 #include "content/public/browser/service_worker_context.h" 35 #include "content/public/browser/service_worker_context.h"
36 #include "content/public/common/referrer.h" 36 #include "content/public/common/referrer.h"
37 #include "net/base/net_errors.h" 37 #include "net/base/net_errors.h"
38 #include "net/http/http_request_headers.h" 38 #include "net/http/http_request_headers.h"
39 #include "net/http/http_response_headers.h" 39 #include "net/http/http_response_headers.h"
40 #include "net/http/http_response_info.h" 40 #include "net/http/http_response_info.h"
41 #include "net/http/http_util.h" 41 #include "net/http/http_util.h"
42 #include "net/log/net_log.h" 42 #include "net/log/net_log.h"
43 #include "net/log/net_log_event_type.h"
43 #include "storage/browser/blob/blob_data_builder.h" 44 #include "storage/browser/blob/blob_data_builder.h"
44 #include "storage/browser/blob/blob_data_handle.h" 45 #include "storage/browser/blob/blob_data_handle.h"
45 #include "storage/browser/blob/blob_storage_context.h" 46 #include "storage/browser/blob/blob_storage_context.h"
46 #include "ui/base/page_transition_types.h" 47 #include "ui/base/page_transition_types.h"
47 48
48 namespace content { 49 namespace content {
49 50
50 namespace { 51 namespace {
51 52
52 net::NetLog::EventType RequestJobResultToNetEventType( 53 net::NetLogEventType RequestJobResultToNetEventType(
53 ServiceWorkerMetrics::URLRequestJobResult result) { 54 ServiceWorkerMetrics::URLRequestJobResult result) {
54 using n = net::NetLog; 55 using n = net::NetLogEventType;
55 using m = ServiceWorkerMetrics; 56 using m = ServiceWorkerMetrics;
56 switch (result) { 57 switch (result) {
57 case m::REQUEST_JOB_FALLBACK_RESPONSE: 58 case m::REQUEST_JOB_FALLBACK_RESPONSE:
58 return n::TYPE_SERVICE_WORKER_FALLBACK_RESPONSE; 59 return n::SERVICE_WORKER_FALLBACK_RESPONSE;
59 case m::REQUEST_JOB_FALLBACK_FOR_CORS: 60 case m::REQUEST_JOB_FALLBACK_FOR_CORS:
60 return n::TYPE_SERVICE_WORKER_FALLBACK_FOR_CORS; 61 return n::SERVICE_WORKER_FALLBACK_FOR_CORS;
61 case m::REQUEST_JOB_HEADERS_ONLY_RESPONSE: 62 case m::REQUEST_JOB_HEADERS_ONLY_RESPONSE:
62 return n::TYPE_SERVICE_WORKER_HEADERS_ONLY_RESPONSE; 63 return n::SERVICE_WORKER_HEADERS_ONLY_RESPONSE;
63 case m::REQUEST_JOB_STREAM_RESPONSE: 64 case m::REQUEST_JOB_STREAM_RESPONSE:
64 return n::TYPE_SERVICE_WORKER_STREAM_RESPONSE; 65 return n::SERVICE_WORKER_STREAM_RESPONSE;
65 case m::REQUEST_JOB_BLOB_RESPONSE: 66 case m::REQUEST_JOB_BLOB_RESPONSE:
66 return n::TYPE_SERVICE_WORKER_BLOB_RESPONSE; 67 return n::SERVICE_WORKER_BLOB_RESPONSE;
67 case m::REQUEST_JOB_ERROR_RESPONSE_STATUS_ZERO: 68 case m::REQUEST_JOB_ERROR_RESPONSE_STATUS_ZERO:
68 return n::TYPE_SERVICE_WORKER_ERROR_RESPONSE_STATUS_ZERO; 69 return n::SERVICE_WORKER_ERROR_RESPONSE_STATUS_ZERO;
69 case m::REQUEST_JOB_ERROR_BAD_BLOB: 70 case m::REQUEST_JOB_ERROR_BAD_BLOB:
70 return n::TYPE_SERVICE_WORKER_ERROR_BAD_BLOB; 71 return n::SERVICE_WORKER_ERROR_BAD_BLOB;
71 case m::REQUEST_JOB_ERROR_NO_PROVIDER_HOST: 72 case m::REQUEST_JOB_ERROR_NO_PROVIDER_HOST:
72 return n::TYPE_SERVICE_WORKER_ERROR_NO_PROVIDER_HOST; 73 return n::SERVICE_WORKER_ERROR_NO_PROVIDER_HOST;
73 case m::REQUEST_JOB_ERROR_NO_ACTIVE_VERSION: 74 case m::REQUEST_JOB_ERROR_NO_ACTIVE_VERSION:
74 return n::TYPE_SERVICE_WORKER_ERROR_NO_ACTIVE_VERSION; 75 return n::SERVICE_WORKER_ERROR_NO_ACTIVE_VERSION;
75 case m::REQUEST_JOB_ERROR_FETCH_EVENT_DISPATCH: 76 case m::REQUEST_JOB_ERROR_FETCH_EVENT_DISPATCH:
76 return n::TYPE_SERVICE_WORKER_ERROR_FETCH_EVENT_DISPATCH; 77 return n::SERVICE_WORKER_ERROR_FETCH_EVENT_DISPATCH;
77 case m::REQUEST_JOB_ERROR_BLOB_READ: 78 case m::REQUEST_JOB_ERROR_BLOB_READ:
78 return n::TYPE_SERVICE_WORKER_ERROR_BLOB_READ; 79 return n::SERVICE_WORKER_ERROR_BLOB_READ;
79 case m::REQUEST_JOB_ERROR_STREAM_ABORTED: 80 case m::REQUEST_JOB_ERROR_STREAM_ABORTED:
80 return n::TYPE_SERVICE_WORKER_ERROR_STREAM_ABORTED; 81 return n::SERVICE_WORKER_ERROR_STREAM_ABORTED;
81 case m::REQUEST_JOB_ERROR_KILLED: 82 case m::REQUEST_JOB_ERROR_KILLED:
82 return n::TYPE_SERVICE_WORKER_ERROR_KILLED; 83 return n::SERVICE_WORKER_ERROR_KILLED;
83 case m::REQUEST_JOB_ERROR_KILLED_WITH_BLOB: 84 case m::REQUEST_JOB_ERROR_KILLED_WITH_BLOB:
84 return n::TYPE_SERVICE_WORKER_ERROR_KILLED_WITH_BLOB; 85 return n::SERVICE_WORKER_ERROR_KILLED_WITH_BLOB;
85 case m::REQUEST_JOB_ERROR_KILLED_WITH_STREAM: 86 case m::REQUEST_JOB_ERROR_KILLED_WITH_STREAM:
86 return n::TYPE_SERVICE_WORKER_ERROR_KILLED_WITH_STREAM; 87 return n::SERVICE_WORKER_ERROR_KILLED_WITH_STREAM;
87 case m::REQUEST_JOB_ERROR_BAD_DELEGATE: 88 case m::REQUEST_JOB_ERROR_BAD_DELEGATE:
88 return n::TYPE_SERVICE_WORKER_ERROR_BAD_DELEGATE; 89 return n::SERVICE_WORKER_ERROR_BAD_DELEGATE;
89 case m::REQUEST_JOB_ERROR_REQUEST_BODY_BLOB_FAILED: 90 case m::REQUEST_JOB_ERROR_REQUEST_BODY_BLOB_FAILED:
90 return n::TYPE_SERVICE_WORKER_ERROR_REQUEST_BODY_BLOB_FAILED; 91 return n::SERVICE_WORKER_ERROR_REQUEST_BODY_BLOB_FAILED;
91 // We can't log if there's no request; fallthrough. 92 // We can't log if there's no request; fallthrough.
92 case m::REQUEST_JOB_ERROR_NO_REQUEST: 93 case m::REQUEST_JOB_ERROR_NO_REQUEST:
93 // Obsolete types; fallthrough. 94 // Obsolete types; fallthrough.
94 case m::REQUEST_JOB_ERROR_DESTROYED: 95 case m::REQUEST_JOB_ERROR_DESTROYED:
95 case m::REQUEST_JOB_ERROR_DESTROYED_WITH_BLOB: 96 case m::REQUEST_JOB_ERROR_DESTROYED_WITH_BLOB:
96 case m::REQUEST_JOB_ERROR_DESTROYED_WITH_STREAM: 97 case m::REQUEST_JOB_ERROR_DESTROYED_WITH_STREAM:
97 // Invalid type. 98 // Invalid type.
98 case m::NUM_REQUEST_JOB_RESULT_TYPES: 99 case m::NUM_REQUEST_JOB_RESULT_TYPES:
99 NOTREACHED() << result; 100 NOTREACHED() << result;
100 } 101 }
101 NOTREACHED() << result; 102 NOTREACHED() << result;
102 return n::TYPE_FAILED; 103 return n::FAILED;
103 } 104 }
104 105
105 } // namespace 106 } // namespace
106 107
107 class ServiceWorkerURLRequestJob::BlobConstructionWaiter { 108 class ServiceWorkerURLRequestJob::BlobConstructionWaiter {
108 public: 109 public:
109 explicit BlobConstructionWaiter(ServiceWorkerURLRequestJob* owner) 110 explicit BlobConstructionWaiter(ServiceWorkerURLRequestJob* owner)
110 : owner_(owner), weak_factory_(this) { 111 : owner_(owner), weak_factory_(this) {
111 TRACE_EVENT_ASYNC_BEGIN1("ServiceWorker", "BlobConstructionWaiter", this, 112 TRACE_EVENT_ASYNC_BEGIN1("ServiceWorker", "BlobConstructionWaiter", this,
112 "URL", owner_->request()->url().spec()); 113 "URL", owner_->request()->url().spec());
113 owner_->request()->net_log().BeginEvent( 114 owner_->request()->net_log().BeginEvent(
114 net::NetLog::TYPE_SERVICE_WORKER_WAITING_FOR_REQUEST_BODY_BLOB); 115 net::NetLogEventType::SERVICE_WORKER_WAITING_FOR_REQUEST_BODY_BLOB);
115 } 116 }
116 117
117 ~BlobConstructionWaiter() { 118 ~BlobConstructionWaiter() {
118 owner_->request()->net_log().EndEvent( 119 owner_->request()->net_log().EndEvent(
119 net::NetLog::TYPE_SERVICE_WORKER_WAITING_FOR_REQUEST_BODY_BLOB, 120 net::NetLogEventType::SERVICE_WORKER_WAITING_FOR_REQUEST_BODY_BLOB,
120 net::NetLog::BoolCallback("success", phase_ == Phase::SUCCESS)); 121 net::NetLog::BoolCallback("success", phase_ == Phase::SUCCESS));
121 TRACE_EVENT_ASYNC_END1("ServiceWorker", "BlobConstructionWaiter", this, 122 TRACE_EVENT_ASYNC_END1("ServiceWorker", "BlobConstructionWaiter", this,
122 "Success", phase_ == Phase::SUCCESS); 123 "Success", phase_ == Phase::SUCCESS);
123 } 124 }
124 125
125 void RunOnComplete(const base::Callback<void(bool)>& callback) { 126 void RunOnComplete(const base::Callback<void(bool)>& callback) {
126 DCHECK_EQ(static_cast<int>(Phase::INITIAL), static_cast<int>(phase_)); 127 DCHECK_EQ(static_cast<int>(Phase::INITIAL), static_cast<int>(phase_));
127 phase_ = Phase::WAITING; 128 phase_ = Phase::WAITING;
128 num_pending_request_body_blobs_ = 0; 129 num_pending_request_body_blobs_ = 0;
129 callback_ = callback; 130 callback_ = callback;
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 void ServiceWorkerURLRequestJob::MaybeStartRequest() { 386 void ServiceWorkerURLRequestJob::MaybeStartRequest() {
386 if (is_started_ && response_type_ != NOT_DETERMINED) { 387 if (is_started_ && response_type_ != NOT_DETERMINED) {
387 // Start asynchronously. 388 // Start asynchronously.
388 base::ThreadTaskRunnerHandle::Get()->PostTask( 389 base::ThreadTaskRunnerHandle::Get()->PostTask(
389 FROM_HERE, base::Bind(&ServiceWorkerURLRequestJob::StartRequest, 390 FROM_HERE, base::Bind(&ServiceWorkerURLRequestJob::StartRequest,
390 weak_factory_.GetWeakPtr())); 391 weak_factory_.GetWeakPtr()));
391 } 392 }
392 } 393 }
393 394
394 void ServiceWorkerURLRequestJob::StartRequest() { 395 void ServiceWorkerURLRequestJob::StartRequest() {
395 request()->net_log().AddEvent(net::NetLog::TYPE_SERVICE_WORKER_START_REQUEST); 396 request()->net_log().AddEvent(
397 net::NetLogEventType::SERVICE_WORKER_START_REQUEST);
396 398
397 switch (response_type_) { 399 switch (response_type_) {
398 case NOT_DETERMINED: 400 case NOT_DETERMINED:
399 NOTREACHED(); 401 NOTREACHED();
400 return; 402 return;
401 403
402 case FALLBACK_TO_NETWORK: 404 case FALLBACK_TO_NETWORK:
403 FinalizeFallbackToNetwork(); 405 FinalizeFallbackToNetwork();
404 return; 406 return;
405 407
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after
887 CreateFetchRequest(), active_worker, resource_type_, request()->net_log(), 889 CreateFetchRequest(), active_worker, resource_type_, request()->net_log(),
888 base::Bind(&ServiceWorkerURLRequestJob::DidPrepareFetchEvent, 890 base::Bind(&ServiceWorkerURLRequestJob::DidPrepareFetchEvent,
889 weak_factory_.GetWeakPtr(), active_worker), 891 weak_factory_.GetWeakPtr(), active_worker),
890 base::Bind(&ServiceWorkerURLRequestJob::DidDispatchFetchEvent, 892 base::Bind(&ServiceWorkerURLRequestJob::DidDispatchFetchEvent,
891 weak_factory_.GetWeakPtr()))); 893 weak_factory_.GetWeakPtr())));
892 worker_start_time_ = base::TimeTicks::Now(); 894 worker_start_time_ = base::TimeTicks::Now();
893 fetch_dispatcher_->Run(); 895 fetch_dispatcher_->Run();
894 } 896 }
895 897
896 } // namespace content 898 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/service_worker/service_worker_fetch_dispatcher.cc ('k') | extensions/browser/api/cast_channel/cast_socket.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698