| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <string> | 5 #include <string> |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
| 10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 void ResponseCallback(int index, | 92 void ResponseCallback(int index, |
| 93 const MediaStreamDevices& devices, | 93 const MediaStreamDevices& devices, |
| 94 scoped_ptr<MediaStreamUIProxy> ui_proxy) { | 94 scoped_ptr<MediaStreamUIProxy> ui_proxy) { |
| 95 Response(index); | 95 Response(index); |
| 96 message_loop_->PostTask(FROM_HERE, run_loop_.QuitClosure()); | 96 message_loop_->PostTask(FROM_HERE, run_loop_.QuitClosure()); |
| 97 } | 97 } |
| 98 | 98 |
| 99 protected: | 99 protected: |
| 100 std::string MakeMediaAccessRequest(int index) { | 100 std::string MakeMediaAccessRequest(int index) { |
| 101 const int render_process_id = 1; | 101 const int render_process_id = 1; |
| 102 const int render_view_id = 1; | 102 const int render_frame_id = 1; |
| 103 const int page_request_id = 1; | 103 const int page_request_id = 1; |
| 104 const GURL security_origin; | 104 const GURL security_origin; |
| 105 MediaStreamManager::MediaRequestResponseCallback callback = | 105 MediaStreamManager::MediaRequestResponseCallback callback = |
| 106 base::Bind(&MediaStreamManagerTest::ResponseCallback, | 106 base::Bind(&MediaStreamManagerTest::ResponseCallback, |
| 107 base::Unretained(this), index); | 107 base::Unretained(this), index); |
| 108 StreamOptions options(true, true); | 108 StreamOptions options(true, true); |
| 109 return media_stream_manager_->MakeMediaAccessRequest(render_process_id, | 109 return media_stream_manager_->MakeMediaAccessRequest(render_process_id, |
| 110 render_view_id, | 110 render_frame_id, |
| 111 page_request_id, | 111 page_request_id, |
| 112 options, | 112 options, |
| 113 security_origin, | 113 security_origin, |
| 114 callback); | 114 callback); |
| 115 } | 115 } |
| 116 | 116 |
| 117 scoped_ptr<media::AudioManager> audio_manager_; | 117 scoped_ptr<media::AudioManager> audio_manager_; |
| 118 scoped_ptr<MediaStreamManager> media_stream_manager_; | 118 scoped_ptr<MediaStreamManager> media_stream_manager_; |
| 119 content::TestBrowserThreadBundle thread_bundle_; | 119 content::TestBrowserThreadBundle thread_bundle_; |
| 120 scoped_refptr<base::MessageLoopProxy> message_loop_; | 120 scoped_refptr<base::MessageLoopProxy> message_loop_; |
| (...skipping 18 matching lines...) Expand all Loading... |
| 139 run_loop_.RunUntilIdle(); | 139 run_loop_.RunUntilIdle(); |
| 140 media_stream_manager_->WillDestroyCurrentMessageLoop(); | 140 media_stream_manager_->WillDestroyCurrentMessageLoop(); |
| 141 } | 141 } |
| 142 | 142 |
| 143 TEST_F(MediaStreamManagerTest, MakeMultipleRequests) { | 143 TEST_F(MediaStreamManagerTest, MakeMultipleRequests) { |
| 144 // First request. | 144 // First request. |
| 145 std::string label1 = MakeMediaAccessRequest(0); | 145 std::string label1 = MakeMediaAccessRequest(0); |
| 146 | 146 |
| 147 // Second request. | 147 // Second request. |
| 148 int render_process_id = 2; | 148 int render_process_id = 2; |
| 149 int render_view_id = 2; | 149 int render_frame_id = 2; |
| 150 int page_request_id = 2; | 150 int page_request_id = 2; |
| 151 GURL security_origin; | 151 GURL security_origin; |
| 152 StreamOptions options(true, true); | 152 StreamOptions options(true, true); |
| 153 MediaStreamManager::MediaRequestResponseCallback callback = | 153 MediaStreamManager::MediaRequestResponseCallback callback = |
| 154 base::Bind(&MediaStreamManagerTest::ResponseCallback, | 154 base::Bind(&MediaStreamManagerTest::ResponseCallback, |
| 155 base::Unretained(this), 1); | 155 base::Unretained(this), 1); |
| 156 std::string label2 = media_stream_manager_->MakeMediaAccessRequest( | 156 std::string label2 = media_stream_manager_->MakeMediaAccessRequest( |
| 157 render_process_id, | 157 render_process_id, |
| 158 render_view_id, | 158 render_frame_id, |
| 159 page_request_id, | 159 page_request_id, |
| 160 options, | 160 options, |
| 161 security_origin, | 161 security_origin, |
| 162 callback); | 162 callback); |
| 163 | 163 |
| 164 // Expecting the callbackS from requests will be triggered and quit the test. | 164 // Expecting the callbackS from requests will be triggered and quit the test. |
| 165 // Note, the callbacks might come in a different order depending on the | 165 // Note, the callbacks might come in a different order depending on the |
| 166 // value of labels. | 166 // value of labels. |
| 167 EXPECT_CALL(*this, Response(0)); | 167 EXPECT_CALL(*this, Response(0)); |
| 168 EXPECT_CALL(*this, Response(1)); | 168 EXPECT_CALL(*this, Response(1)); |
| 169 run_loop_.Run(); | 169 run_loop_.Run(); |
| 170 } | 170 } |
| 171 | 171 |
| 172 TEST_F(MediaStreamManagerTest, MakeAndCancelMultipleRequests) { | 172 TEST_F(MediaStreamManagerTest, MakeAndCancelMultipleRequests) { |
| 173 std::string label1 = MakeMediaAccessRequest(0); | 173 std::string label1 = MakeMediaAccessRequest(0); |
| 174 std::string label2 = MakeMediaAccessRequest(1); | 174 std::string label2 = MakeMediaAccessRequest(1); |
| 175 media_stream_manager_->CancelRequest(label1); | 175 media_stream_manager_->CancelRequest(label1); |
| 176 | 176 |
| 177 // Expecting the callback from the second request will be triggered and | 177 // Expecting the callback from the second request will be triggered and |
| 178 // quit the test. | 178 // quit the test. |
| 179 EXPECT_CALL(*this, Response(1)); | 179 EXPECT_CALL(*this, Response(1)); |
| 180 run_loop_.Run(); | 180 run_loop_.Run(); |
| 181 } | 181 } |
| 182 | 182 |
| 183 } // namespace content | 183 } // namespace content |
| OLD | NEW |