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

Side by Side Diff: content/browser/media/media_internals_unittest.cc

Issue 2815303006: Convert MediaLog from being ref counted to owned by WebMediaPlayer. (Closed)
Patch Set: Rebase. Created 3 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/media_internals.h" 5 #include "content/browser/media/media_internals.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
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 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 MediaInternalsAudioLogTest, 314 MediaInternalsAudioLogTest,
315 testing::Values(media::AudioLogFactory::AUDIO_INPUT_CONTROLLER, 315 testing::Values(media::AudioLogFactory::AUDIO_INPUT_CONTROLLER,
316 media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER, 316 media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER,
317 media::AudioLogFactory::AUDIO_OUTPUT_STREAM)); 317 media::AudioLogFactory::AUDIO_OUTPUT_STREAM));
318 318
319 class DirectMediaLog : public media::MediaLog { 319 class DirectMediaLog : public media::MediaLog {
320 public: 320 public:
321 explicit DirectMediaLog(int render_process_id) 321 explicit DirectMediaLog(int render_process_id)
322 : render_process_id_(render_process_id), 322 : render_process_id_(render_process_id),
323 internals_(content::MediaInternals::GetInstance()) {} 323 internals_(content::MediaInternals::GetInstance()) {}
324 ~DirectMediaLog() override {}
324 325
325 void AddEvent(std::unique_ptr<media::MediaLogEvent> event) override { 326 void AddEvent(std::unique_ptr<media::MediaLogEvent> event) override {
326 std::vector<media::MediaLogEvent> events(1, *event); 327 std::vector<media::MediaLogEvent> events(1, *event);
327 internals_->OnMediaEvents(render_process_id_, events); 328 internals_->OnMediaEvents(render_process_id_, events);
328 } 329 }
329 330
330 private: 331 private:
331 ~DirectMediaLog() override {}
332
333 const int render_process_id_; 332 const int render_process_id_;
334 MediaInternals* const internals_; 333 MediaInternals* const internals_;
335 334
336 DISALLOW_COPY_AND_ASSIGN(DirectMediaLog); 335 DISALLOW_COPY_AND_ASSIGN(DirectMediaLog);
337 }; 336 };
338 337
339 class MediaInternalsWatchTimeTest : public testing::Test, 338 class MediaInternalsWatchTimeTest : public testing::Test,
340 public MediaInternalsTestBase { 339 public MediaInternalsTestBase {
341 public: 340 public:
342 MediaInternalsWatchTimeTest() 341 MediaInternalsWatchTimeTest()
343 : render_process_id_(0), 342 : render_process_id_(0),
344 internals_(content::MediaInternals::GetInstance()), 343 internals_(content::MediaInternals::GetInstance()),
345 media_log_(new DirectMediaLog(render_process_id_)), 344 media_log_(new DirectMediaLog(render_process_id_)),
346 histogram_tester_(new base::HistogramTester()), 345 histogram_tester_(new base::HistogramTester()),
347 watch_time_keys_(media::MediaLog::GetWatchTimeKeys()), 346 watch_time_keys_(media::MediaLog::GetWatchTimeKeys()),
348 watch_time_power_keys_(media::MediaLog::GetWatchTimePowerKeys()) {} 347 watch_time_power_keys_(media::MediaLog::GetWatchTimePowerKeys()) {}
349 348
350 void Initialize(bool has_audio, 349 void Initialize(bool has_audio,
351 bool has_video, 350 bool has_video,
352 bool is_mse, 351 bool is_mse,
353 bool is_encrypted) { 352 bool is_encrypted) {
354 wtr_.reset(new media::WatchTimeReporter( 353 wtr_.reset(new media::WatchTimeReporter(
355 has_audio, has_video, is_mse, is_encrypted, true, media_log_, 354 has_audio, has_video, is_mse, is_encrypted, true, media_log_.get(),
356 gfx::Size(800, 600), 355 gfx::Size(800, 600),
357 base::Bind(&MediaInternalsWatchTimeTest::GetCurrentMediaTime, 356 base::Bind(&MediaInternalsWatchTimeTest::GetCurrentMediaTime,
358 base::Unretained(this)))); 357 base::Unretained(this))));
359 wtr_->set_reporting_interval_for_testing(); 358 wtr_->set_reporting_interval_for_testing();
360 } 359 }
361 360
362 void CycleWatchTimeReporter() { 361 void CycleWatchTimeReporter() {
363 base::RunLoop run_loop; 362 base::RunLoop run_loop;
364 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, 363 base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
365 run_loop.QuitClosure()); 364 run_loop.QuitClosure());
(...skipping 15 matching lines...) Expand all
381 380
382 void ResetHistogramTester() { 381 void ResetHistogramTester() {
383 histogram_tester_.reset(new base::HistogramTester()); 382 histogram_tester_.reset(new base::HistogramTester());
384 } 383 }
385 384
386 MOCK_METHOD0(GetCurrentMediaTime, base::TimeDelta()); 385 MOCK_METHOD0(GetCurrentMediaTime, base::TimeDelta());
387 386
388 protected: 387 protected:
389 const int render_process_id_; 388 const int render_process_id_;
390 MediaInternals* const internals_; 389 MediaInternals* const internals_;
391 scoped_refptr<DirectMediaLog> media_log_; 390 std::unique_ptr<DirectMediaLog> media_log_;
392 std::unique_ptr<base::HistogramTester> histogram_tester_; 391 std::unique_ptr<base::HistogramTester> histogram_tester_;
393 std::unique_ptr<media::WatchTimeReporter> wtr_; 392 std::unique_ptr<media::WatchTimeReporter> wtr_;
394 const base::flat_set<base::StringPiece> watch_time_keys_; 393 const base::flat_set<base::StringPiece> watch_time_keys_;
395 const base::flat_set<base::StringPiece> watch_time_power_keys_; 394 const base::flat_set<base::StringPiece> watch_time_power_keys_;
396 395
397 DISALLOW_COPY_AND_ASSIGN(MediaInternalsWatchTimeTest); 396 DISALLOW_COPY_AND_ASSIGN(MediaInternalsWatchTimeTest);
398 }; 397 };
399 398
400 TEST_F(MediaInternalsWatchTimeTest, BasicAudio) { 399 TEST_F(MediaInternalsWatchTimeTest, BasicAudio) {
401 constexpr base::TimeDelta kWatchTimeEarly = base::TimeDelta::FromSeconds(5); 400 constexpr base::TimeDelta kWatchTimeEarly = base::TimeDelta::FromSeconds(5);
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
578 internals_->OnProcessTerminatedForTesting(render_process_id_); 577 internals_->OnProcessTerminatedForTesting(render_process_id_);
579 ExpectWatchTime({media::MediaLog::kWatchTimeAudioVideoAll, 578 ExpectWatchTime({media::MediaLog::kWatchTimeAudioVideoAll,
580 media::MediaLog::kWatchTimeAudioVideoSrc, 579 media::MediaLog::kWatchTimeAudioVideoSrc,
581 media::MediaLog::kWatchTimeAudioVideoEme, 580 media::MediaLog::kWatchTimeAudioVideoEme,
582 media::MediaLog::kWatchTimeAudioVideoAc, 581 media::MediaLog::kWatchTimeAudioVideoAc,
583 media::MediaLog::kWatchTimeAudioVideoEmbeddedExperience}, 582 media::MediaLog::kWatchTimeAudioVideoEmbeddedExperience},
584 kWatchTimeLate); 583 kWatchTimeLate);
585 } 584 }
586 585
587 } // namespace content 586 } // namespace content
OLDNEW
« no previous file with comments | « chromecast/media/service/cast_mojo_media_client.cc ('k') | content/renderer/media/render_media_log.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698