@@ -122,10 +122,12 @@ void WebRtcLoggingController::UploadLog(UploadDoneCallback callback) {
122
122
base::UmaHistogramSparse (" WebRtcTextLogging.UploadStarted" , web_app_id_);
123
123
124
124
WebRtcLogUploader* log_uploader = WebRtcLogUploader::GetInstance ();
125
- log_uploader->background_task_runner ()->PostTaskAndReplyWithResult (
126
- FROM_HERE, base::BindOnce (log_directory_getter_),
127
- base::BindOnce (&WebRtcLoggingController::TriggerUpload, this ,
128
- std::move (callback)));
125
+ if (log_uploader) {
126
+ log_uploader->background_task_runner ()->PostTaskAndReplyWithResult (
127
+ FROM_HERE, base::BindOnce (log_directory_getter_),
128
+ base::BindOnce (&WebRtcLoggingController::TriggerUpload, this ,
129
+ std::move (callback)));
130
+ }
129
131
}
130
132
131
133
void WebRtcLoggingController::UploadStoredLog (const std::string& log_id,
@@ -144,6 +146,10 @@ void WebRtcLoggingController::UploadStoredLog(const std::string& log_id,
144
146
upload_data.web_app_id = web_app_id_;
145
147
146
148
WebRtcLogUploader* log_uploader = WebRtcLogUploader::GetInstance ();
149
+ if (!log_uploader) {
150
+ return ;
151
+ }
152
+
147
153
if (!IsWebRtcTextLogAllowed (GetBrowserContext ())) {
148
154
log_uploader->NotifyUploadDisabled (std::move (upload_data));
149
155
return ;
@@ -157,7 +163,9 @@ void WebRtcLoggingController::UploadStoredLog(const std::string& log_id,
157
163
upload_data.paths .directory = log_directory_getter.Run ();
158
164
WebRtcLogUploader* uploader =
159
165
WebRtcLogUploader::GetInstance ();
160
- uploader->UploadStoredLog (std::move (upload_data));
166
+ if (uploader) {
167
+ uploader->UploadStoredLog (std::move (upload_data));
168
+ }
161
169
},
162
170
std::move (upload_data), log_directory_getter_));
163
171
}
@@ -171,7 +179,9 @@ void WebRtcLoggingController::DiscardLog(GenericDoneCallback callback) {
171
179
return ;
172
180
}
173
181
WebRtcLogUploader* log_uploader = WebRtcLogUploader::GetInstance ();
174
- log_uploader->LoggingStoppedDontUpload ();
182
+ if (log_uploader) {
183
+ log_uploader->LoggingStoppedDontUpload ();
184
+ }
175
185
text_log_handler_->DiscardLog ();
176
186
rtp_dump_handler_.reset ();
177
187
stop_rtp_dump_callback_.Reset ();
@@ -215,10 +225,12 @@ void WebRtcLoggingController::StoreLogContinue(const std::string& log_id,
215
225
ReleaseRtpDumps (log_paths.get ());
216
226
217
227
WebRtcLogUploader* log_uploader = WebRtcLogUploader::GetInstance ();
218
- log_uploader->background_task_runner ()->PostTaskAndReplyWithResult (
219
- FROM_HERE, base::BindOnce (log_directory_getter_),
220
- base::BindOnce (&WebRtcLoggingController::StoreLogInDirectory, this ,
221
- log_id, std::move (log_paths), std::move (callback)));
228
+ if (log_uploader) {
229
+ log_uploader->background_task_runner ()->PostTaskAndReplyWithResult (
230
+ FROM_HERE, base::BindOnce (log_directory_getter_),
231
+ base::BindOnce (&WebRtcLoggingController::StoreLogInDirectory, this ,
232
+ log_id, std::move (log_paths), std::move (callback)));
233
+ }
222
234
}
223
235
224
236
void WebRtcLoggingController::StartRtpDump (RtpDumpType type,
@@ -243,10 +255,12 @@ void WebRtcLoggingController::StartRtpDump(RtpDumpType type,
243
255
244
256
if (!rtp_dump_handler_) {
245
257
WebRtcLogUploader* log_uploader = WebRtcLogUploader::GetInstance ();
246
- log_uploader->background_task_runner ()->PostTaskAndReplyWithResult (
247
- FROM_HERE, base::BindOnce (log_directory_getter_),
248
- base::BindOnce (&WebRtcLoggingController::CreateRtpDumpHandlerAndStart,
249
- this , type, std::move (callback)));
258
+ if (log_uploader) {
259
+ log_uploader->background_task_runner ()->PostTaskAndReplyWithResult (
260
+ FROM_HERE, base::BindOnce (log_directory_getter_),
261
+ base::BindOnce (&WebRtcLoggingController::CreateRtpDumpHandlerAndStart,
262
+ this , type, std::move (callback)));
263
+ }
250
264
return ;
251
265
}
252
266
@@ -296,10 +310,12 @@ void WebRtcLoggingController::GetLogsDirectory(
296
310
DCHECK_CALLED_ON_VALID_SEQUENCE (sequence_checker_);
297
311
DCHECK (!callback.is_null ());
298
312
WebRtcLogUploader* log_uploader = WebRtcLogUploader::GetInstance ();
299
- log_uploader->background_task_runner ()->PostTaskAndReplyWithResult (
300
- FROM_HERE, base::BindOnce (log_directory_getter_),
301
- base::BindOnce (&WebRtcLoggingController::GrantLogsDirectoryAccess, this ,
302
- std::move (callback), std::move (error_callback)));
313
+ if (log_uploader) {
314
+ log_uploader->background_task_runner ()->PostTaskAndReplyWithResult (
315
+ FROM_HERE, base::BindOnce (log_directory_getter_),
316
+ base::BindOnce (&WebRtcLoggingController::GrantLogsDirectoryAccess, this ,
317
+ std::move (callback), std::move (error_callback)));
318
+ }
303
319
}
304
320
305
321
void WebRtcLoggingController::GrantLogsDirectoryAccess (
@@ -409,12 +425,16 @@ void WebRtcLoggingController::OnAgentDisconnected() {
409
425
case WebRtcTextLogHandler::STOPPED:
410
426
text_log_handler_->ChannelClosing ();
411
427
if (upload_log_on_render_close_) {
412
- log_uploader->background_task_runner ()->PostTaskAndReplyWithResult (
413
- FROM_HERE, base::BindOnce (log_directory_getter_),
414
- base::BindOnce (&WebRtcLoggingController::TriggerUpload, this ,
415
- UploadDoneCallback ()));
428
+ if (log_uploader) {
429
+ log_uploader->background_task_runner ()->PostTaskAndReplyWithResult (
430
+ FROM_HERE, base::BindOnce (log_directory_getter_),
431
+ base::BindOnce (&WebRtcLoggingController::TriggerUpload, this ,
432
+ UploadDoneCallback ()));
433
+ }
416
434
} else {
417
- log_uploader->LoggingStoppedDontUpload ();
435
+ if (log_uploader) {
436
+ log_uploader->LoggingStoppedDontUpload ();
437
+ }
418
438
text_log_handler_->DiscardLog ();
419
439
}
420
440
break ;
@@ -477,20 +497,24 @@ void WebRtcLoggingController::StoreLogInDirectory(
477
497
<< " , uorc=" << upload_log_on_render_close_;
478
498
479
499
WebRtcLogUploader* log_uploader = WebRtcLogUploader::GetInstance ();
480
- log_uploader->background_task_runner ()->PostTask (
481
- FROM_HERE, base::BindOnce (
482
- [](WebRtcLogPaths paths, const std::string& log_id,
483
- std::unique_ptr<WebRtcLogBuffer> log_buffer,
484
- std::unique_ptr<WebRtcLogMetaDataMap> meta_data,
485
- GenericDoneCallback done_callback) {
486
- WebRtcLogUploader* uploader =
487
- WebRtcLogUploader::GetInstance ();
488
- uploader->LoggingStoppedDoStore (
489
- paths, log_id, std::move (log_buffer),
490
- std::move (meta_data), std::move (done_callback));
491
- },
492
- *log_paths, log_id, std::move (log_buffer),
493
- std::move (meta_data), std::move (done_callback)));
500
+ if (log_uploader) {
501
+ log_uploader->background_task_runner ()->PostTask (
502
+ FROM_HERE, base::BindOnce (
503
+ [](WebRtcLogPaths paths, const std::string& log_id,
504
+ std::unique_ptr<WebRtcLogBuffer> log_buffer,
505
+ std::unique_ptr<WebRtcLogMetaDataMap> meta_data,
506
+ GenericDoneCallback done_callback) {
507
+ WebRtcLogUploader* uploader =
508
+ WebRtcLogUploader::GetInstance ();
509
+ if (uploader) {
510
+ uploader->LoggingStoppedDoStore (
511
+ paths, log_id, std::move (log_buffer),
512
+ std::move (meta_data), std::move (done_callback));
513
+ }
514
+ },
515
+ *log_paths, log_id, std::move (log_buffer),
516
+ std::move (meta_data), std::move (done_callback)));
517
+ }
494
518
}
495
519
496
520
void WebRtcLoggingController::DoUploadLogAndRtpDumps (
@@ -544,20 +568,24 @@ void WebRtcLoggingController::DoUploadLogAndRtpDumps(
544
568
bool is_text_log_upload_allowed = IsWebRtcTextLogAllowed (browser_context);
545
569
546
570
WebRtcLogUploader* log_uploader = WebRtcLogUploader::GetInstance ();
547
- log_uploader->background_task_runner ()->PostTask (
548
- FROM_HERE,
549
- base::BindOnce (
550
- [](std::unique_ptr<WebRtcLogBuffer> log_buffer,
551
- std::unique_ptr<WebRtcLogMetaDataMap> meta_data,
552
- WebRtcLogUploader::UploadDoneData upload_done_data,
553
- bool is_text_log_upload_allowed) {
554
- WebRtcLogUploader* uploader = WebRtcLogUploader::GetInstance ();
555
- uploader->OnLoggingStopped (
556
- std::move (log_buffer), std::move (meta_data),
557
- std::move (upload_done_data), is_text_log_upload_allowed);
558
- },
559
- std::move (log_buffer), std::move (meta_data),
560
- std::move (upload_done_data), is_text_log_upload_allowed));
571
+ if (log_uploader) {
572
+ log_uploader->background_task_runner ()->PostTask (
573
+ FROM_HERE,
574
+ base::BindOnce (
575
+ [](std::unique_ptr<WebRtcLogBuffer> log_buffer,
576
+ std::unique_ptr<WebRtcLogMetaDataMap> meta_data,
577
+ WebRtcLogUploader::UploadDoneData upload_done_data,
578
+ bool is_text_log_upload_allowed) {
579
+ WebRtcLogUploader* uploader = WebRtcLogUploader::GetInstance ();
580
+ if (uploader) {
581
+ uploader->OnLoggingStopped (
582
+ std::move (log_buffer), std::move (meta_data),
583
+ std::move (upload_done_data), is_text_log_upload_allowed);
584
+ }
585
+ },
586
+ std::move (log_buffer), std::move (meta_data),
587
+ std::move (upload_done_data), is_text_log_upload_allowed));
588
+ }
561
589
}
562
590
563
591
void WebRtcLoggingController::CreateRtpDumpHandlerAndStart (
0 commit comments