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

Side by Side Diff: chrome/renderer/media/chrome_webrtc_log_message_delegate.cc

Issue 2907133003: Deprecate NonThreadSafe in chrome/renderer/media in favor of SequenceChecker. (Closed)
Patch Set: Created 3 years, 6 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
« no previous file with comments | « chrome/renderer/media/chrome_webrtc_log_message_delegate.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/renderer/media/chrome_webrtc_log_message_delegate.h" 5 #include "chrome/renderer/media/chrome_webrtc_log_message_delegate.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/single_thread_task_runner.h" 8 #include "base/single_thread_task_runner.h"
9 #include "chrome/common/partial_circular_buffer.h" 9 #include "chrome/common/partial_circular_buffer.h"
10 #include "chrome/renderer/media/webrtc_logging_message_filter.h" 10 #include "chrome/renderer/media/webrtc_logging_message_filter.h"
11 11
12 ChromeWebRtcLogMessageDelegate::ChromeWebRtcLogMessageDelegate( 12 ChromeWebRtcLogMessageDelegate::ChromeWebRtcLogMessageDelegate(
13 const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner, 13 const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner,
14 WebRtcLoggingMessageFilter* message_filter) 14 WebRtcLoggingMessageFilter* message_filter)
15 : io_task_runner_(io_task_runner), 15 : io_task_runner_(io_task_runner),
16 logging_started_(false), 16 logging_started_(false),
17 message_filter_(message_filter) { 17 message_filter_(message_filter) {
18 content::InitWebRtcLoggingDelegate(this); 18 content::InitWebRtcLoggingDelegate(this);
19 } 19 }
20 20
21 ChromeWebRtcLogMessageDelegate::~ChromeWebRtcLogMessageDelegate() { 21 ChromeWebRtcLogMessageDelegate::~ChromeWebRtcLogMessageDelegate() {
22 DCHECK(CalledOnValidThread()); 22 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
23 } 23 }
24 24
25 void ChromeWebRtcLogMessageDelegate::LogMessage(const std::string& message) { 25 void ChromeWebRtcLogMessageDelegate::LogMessage(const std::string& message) {
26 WebRtcLoggingMessageData data(base::Time::Now(), message); 26 WebRtcLoggingMessageData data(base::Time::Now(), message);
27 27
28 io_task_runner_->PostTask( 28 io_task_runner_->PostTask(
29 FROM_HERE, base::Bind( 29 FROM_HERE, base::Bind(
30 &ChromeWebRtcLogMessageDelegate::LogMessageOnIOThread, 30 &ChromeWebRtcLogMessageDelegate::LogMessageOnIOThread,
31 base::Unretained(this), 31 base::Unretained(this),
32 data)); 32 data));
33 } 33 }
34 34
35 void ChromeWebRtcLogMessageDelegate::LogMessageOnIOThread( 35 void ChromeWebRtcLogMessageDelegate::LogMessageOnIOThread(
36 const WebRtcLoggingMessageData& message) { 36 const WebRtcLoggingMessageData& message) {
37 DCHECK(CalledOnValidThread()); 37 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
38 38
39 if (logging_started_ && message_filter_) { 39 if (logging_started_ && message_filter_) {
40 if (!log_buffer_.empty()) { 40 if (!log_buffer_.empty()) {
41 // A delayed task has already been posted for sending the buffer contents. 41 // A delayed task has already been posted for sending the buffer contents.
42 // Just add the message to the buffer. 42 // Just add the message to the buffer.
43 log_buffer_.push_back(message); 43 log_buffer_.push_back(message);
44 return; 44 return;
45 } 45 }
46 46
47 log_buffer_.push_back(message); 47 log_buffer_.push_back(message);
48 48
49 if (base::TimeTicks::Now() - last_log_buffer_send_ > 49 if (base::TimeTicks::Now() - last_log_buffer_send_ >
50 base::TimeDelta::FromMilliseconds(100)) { 50 base::TimeDelta::FromMilliseconds(100)) {
51 SendLogBuffer(); 51 SendLogBuffer();
52 } else { 52 } else {
53 io_task_runner_->PostDelayedTask( 53 io_task_runner_->PostDelayedTask(
54 FROM_HERE, 54 FROM_HERE,
55 base::Bind(&ChromeWebRtcLogMessageDelegate::SendLogBuffer, 55 base::Bind(&ChromeWebRtcLogMessageDelegate::SendLogBuffer,
56 base::Unretained(this)), 56 base::Unretained(this)),
57 base::TimeDelta::FromMilliseconds(200)); 57 base::TimeDelta::FromMilliseconds(200));
58 } 58 }
59 } 59 }
60 } 60 }
61 61
62 void ChromeWebRtcLogMessageDelegate::OnFilterRemoved() { 62 void ChromeWebRtcLogMessageDelegate::OnFilterRemoved() {
63 DCHECK(CalledOnValidThread()); 63 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
64 message_filter_ = NULL; 64 message_filter_ = NULL;
65 } 65 }
66 66
67 void ChromeWebRtcLogMessageDelegate::OnStartLogging() { 67 void ChromeWebRtcLogMessageDelegate::OnStartLogging() {
68 DCHECK(CalledOnValidThread()); 68 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
69 logging_started_ = true; 69 logging_started_ = true;
70 content::InitWebRtcLogging(); 70 content::InitWebRtcLogging();
71 } 71 }
72 72
73 void ChromeWebRtcLogMessageDelegate::OnStopLogging() { 73 void ChromeWebRtcLogMessageDelegate::OnStopLogging() {
74 DCHECK(CalledOnValidThread()); 74 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
75 if (!log_buffer_.empty()) 75 if (!log_buffer_.empty())
76 SendLogBuffer(); 76 SendLogBuffer();
77 if (message_filter_) 77 if (message_filter_)
78 message_filter_->LoggingStopped(); 78 message_filter_->LoggingStopped();
79 logging_started_ = false; 79 logging_started_ = false;
80 } 80 }
81 81
82 void ChromeWebRtcLogMessageDelegate::SendLogBuffer() { 82 void ChromeWebRtcLogMessageDelegate::SendLogBuffer() {
83 DCHECK(CalledOnValidThread()); 83 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
84 if (logging_started_ && message_filter_) { 84 if (logging_started_ && message_filter_) {
85 message_filter_->AddLogMessages(log_buffer_); 85 message_filter_->AddLogMessages(log_buffer_);
86 last_log_buffer_send_ = base::TimeTicks::Now(); 86 last_log_buffer_send_ = base::TimeTicks::Now();
87 } 87 }
88 log_buffer_.clear(); 88 log_buffer_.clear();
89 } 89 }
OLDNEW
« no previous file with comments | « chrome/renderer/media/chrome_webrtc_log_message_delegate.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698