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

Side by Side Diff: content/browser/media/capture/web_contents_audio_input_stream_unittest.cc

Issue 1074963003: Clean up potentially leaky use of base::DeletePointer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed another probleb Created 5 years, 8 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "content/browser/media/capture/web_contents_audio_input_stream.h" 5 #include "content/browser/media/capture/web_contents_audio_input_stream.h"
6 6
7 #include <list> 7 #include <list>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 80
81 DISALLOW_COPY_AND_ASSIGN(MockWebContentsTracker); 81 DISALLOW_COPY_AND_ASSIGN(MockWebContentsTracker);
82 }; 82 };
83 83
84 // A fully-functional VirtualAudioInputStream, but methods are mocked to allow 84 // A fully-functional VirtualAudioInputStream, but methods are mocked to allow
85 // tests to check how/when they are invoked. 85 // tests to check how/when they are invoked.
86 class MockVirtualAudioInputStream : public VirtualAudioInputStream { 86 class MockVirtualAudioInputStream : public VirtualAudioInputStream {
87 public: 87 public:
88 explicit MockVirtualAudioInputStream( 88 explicit MockVirtualAudioInputStream(
89 const scoped_refptr<base::MessageLoopProxy>& worker_loop) 89 const scoped_refptr<base::MessageLoopProxy>& worker_loop)
90 : VirtualAudioInputStream(TestAudioParameters(), worker_loop, 90 : VirtualAudioInputStream(TestAudioParameters(), worker_loop, false),
91 VirtualAudioInputStream::AfterCloseCallback()), 91 real_(TestAudioParameters(), worker_loop, false),
92 real_(TestAudioParameters(), worker_loop,
93 base::Bind(&MockVirtualAudioInputStream::OnRealStreamHasClosed,
94 base::Unretained(this))),
95 real_stream_is_closed_(false) { 92 real_stream_is_closed_(false) {
96 // Set default actions of mocked methods to delegate to the concrete 93 // Set default actions of mocked methods to delegate to the concrete
97 // implementation. 94 // implementation.
98 ON_CALL(*this, Open()) 95 ON_CALL(*this, Open())
99 .WillByDefault(Invoke(&real_, &VirtualAudioInputStream::Open)); 96 .WillByDefault(Invoke(&real_, &VirtualAudioInputStream::Open));
100 ON_CALL(*this, Start(_)) 97 ON_CALL(*this, Start(_))
101 .WillByDefault(Invoke(&real_, &VirtualAudioInputStream::Start)); 98 .WillByDefault(Invoke(&real_, &VirtualAudioInputStream::Start));
102 ON_CALL(*this, Stop()) 99 ON_CALL(*this, Stop())
103 .WillByDefault(Invoke(&real_, &VirtualAudioInputStream::Stop)); 100 .WillByDefault(Invoke(&real_, &VirtualAudioInputStream::Stop));
104 ON_CALL(*this, Close()) 101 ON_CALL(*this, Close())
105 .WillByDefault(Invoke(&real_, &VirtualAudioInputStream::Close)); 102 .WillByDefault(Invoke(this, &MockVirtualAudioInputStream::OnClose));
106 ON_CALL(*this, GetMaxVolume()) 103 ON_CALL(*this, GetMaxVolume())
107 .WillByDefault(Invoke(&real_, &VirtualAudioInputStream::GetMaxVolume)); 104 .WillByDefault(Invoke(&real_, &VirtualAudioInputStream::GetMaxVolume));
108 ON_CALL(*this, SetVolume(_)) 105 ON_CALL(*this, SetVolume(_))
109 .WillByDefault(Invoke(&real_, &VirtualAudioInputStream::SetVolume)); 106 .WillByDefault(Invoke(&real_, &VirtualAudioInputStream::SetVolume));
110 ON_CALL(*this, GetVolume()) 107 ON_CALL(*this, GetVolume())
111 .WillByDefault(Invoke(&real_, &VirtualAudioInputStream::GetVolume)); 108 .WillByDefault(Invoke(&real_, &VirtualAudioInputStream::GetVolume));
112 ON_CALL(*this, SetAutomaticGainControl(_)) 109 ON_CALL(*this, SetAutomaticGainControl(_))
113 .WillByDefault( 110 .WillByDefault(
114 Invoke(&real_, &VirtualAudioInputStream::SetAutomaticGainControl)); 111 Invoke(&real_, &VirtualAudioInputStream::SetAutomaticGainControl));
115 ON_CALL(*this, GetAutomaticGainControl()) 112 ON_CALL(*this, GetAutomaticGainControl())
(...skipping 19 matching lines...) Expand all
135 MOCK_METHOD1(SetVolume, void(double)); 132 MOCK_METHOD1(SetVolume, void(double));
136 MOCK_METHOD0(GetVolume, double()); 133 MOCK_METHOD0(GetVolume, double());
137 MOCK_METHOD1(SetAutomaticGainControl, bool(bool)); 134 MOCK_METHOD1(SetAutomaticGainControl, bool(bool));
138 MOCK_METHOD0(GetAutomaticGainControl, bool()); 135 MOCK_METHOD0(GetAutomaticGainControl, bool());
139 MOCK_METHOD2(AddOutputStream, void(VirtualAudioOutputStream*, 136 MOCK_METHOD2(AddOutputStream, void(VirtualAudioOutputStream*,
140 const AudioParameters&)); 137 const AudioParameters&));
141 MOCK_METHOD2(RemoveOutputStream, void(VirtualAudioOutputStream*, 138 MOCK_METHOD2(RemoveOutputStream, void(VirtualAudioOutputStream*,
142 const AudioParameters&)); 139 const AudioParameters&));
143 140
144 private: 141 private:
145 void OnRealStreamHasClosed(VirtualAudioInputStream* stream) { 142 void OnClose() {
146 DCHECK_EQ(&real_, stream); 143 real_.Close();
147 DCHECK(!real_stream_is_closed_); 144 DCHECK(!real_stream_is_closed_);
148 real_stream_is_closed_ = true; 145 real_stream_is_closed_ = true;
149 } 146 }
150 147
151 VirtualAudioInputStream real_; 148 VirtualAudioInputStream real_;
152 bool real_stream_is_closed_; 149 bool real_stream_is_closed_;
153 150
154 DISALLOW_COPY_AND_ASSIGN(MockVirtualAudioInputStream); 151 DISALLOW_COPY_AND_ASSIGN(MockVirtualAudioInputStream);
155 }; 152 };
156 153
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
499 WaitForData(); 496 WaitForData();
500 RUN_ON_AUDIO_THREAD(RemoveOneInputInFIFOOrder); 497 RUN_ON_AUDIO_THREAD(RemoveOneInputInFIFOOrder);
501 WaitForData(); 498 WaitForData();
502 RUN_ON_AUDIO_THREAD(ChangeMirroringTarget); 499 RUN_ON_AUDIO_THREAD(ChangeMirroringTarget);
503 RUN_ON_AUDIO_THREAD(RemoveOneInputInFIFOOrder); 500 RUN_ON_AUDIO_THREAD(RemoveOneInputInFIFOOrder);
504 RUN_ON_AUDIO_THREAD(Stop); 501 RUN_ON_AUDIO_THREAD(Stop);
505 RUN_ON_AUDIO_THREAD(Close); 502 RUN_ON_AUDIO_THREAD(Close);
506 } 503 }
507 504
508 } // namespace content 505 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698