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

Side by Side Diff: content/browser/media/session/media_session_browsertest.cc

Issue 2015433003: Implement MediaMetadata artwork in content (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed tests Created 4 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
OLDNEW
1
1 // Copyright 2015 The Chromium Authors. All rights reserved. 2 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 3 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 4 // found in the LICENSE file.
4 5
5 #include "content/browser/media/session/media_session.h" 6 #include "content/browser/media/session/media_session.h"
6 7
7 #include <stddef.h> 8 #include <stddef.h>
8 9
9 #include <list> 10 #include <list>
10 #include <vector> 11 #include <vector>
(...skipping 30 matching lines...) Expand all
41 42
42 void AbandonAudioFocus() override { 43 void AbandonAudioFocus() override {
43 } 44 }
44 }; 45 };
45 46
46 class MockWebContentsObserver : public WebContentsObserver { 47 class MockWebContentsObserver : public WebContentsObserver {
47 public: 48 public:
48 MockWebContentsObserver(WebContents* web_contents) 49 MockWebContentsObserver(WebContents* web_contents)
49 : WebContentsObserver(web_contents) {} 50 : WebContentsObserver(web_contents) {}
50 51
51 MOCK_METHOD3(MediaSessionStateChanged, 52 MOCK_METHOD2(MediaSessionStateChanged,
52 void(bool is_controllable, bool is_suspended, 53 void(bool is_controllable, bool is_suspended));
53 const content::MediaMetadata& metadata));
54 }; 54 };
55 55
56 } // namespace 56 } // namespace
57 57
58 class MediaSessionBrowserTest : public content::ContentBrowserTest { 58 class MediaSessionBrowserTest : public content::ContentBrowserTest {
59 protected: 59 protected:
60 MediaSessionBrowserTest() = default; 60 MediaSessionBrowserTest() = default;
61 61
62 void SetUpOnMainThread() override { 62 void SetUpOnMainThread() override {
63 ContentBrowserTest::SetUpOnMainThread(); 63 ContentBrowserTest::SetUpOnMainThread();
(...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after
482 EXPECT_TRUE(media_session_observer->IsPlaying(0)); 482 EXPECT_TRUE(media_session_observer->IsPlaying(0));
483 EXPECT_TRUE(media_session_observer->IsPlaying(1)); 483 EXPECT_TRUE(media_session_observer->IsPlaying(1));
484 EXPECT_TRUE(media_session_observer->IsPlaying(2)); 484 EXPECT_TRUE(media_session_observer->IsPlaying(2));
485 EXPECT_TRUE(media_session_observer->IsPlaying(3)); 485 EXPECT_TRUE(media_session_observer->IsPlaying(3));
486 486
487 EXPECT_EQ(MediaSession::Type::Content, GetSessionType()); 487 EXPECT_EQ(MediaSession::Type::Content, GetSessionType());
488 } 488 }
489 489
490 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, ControlsShowForContent) { 490 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, ControlsShowForContent) {
491 EXPECT_CALL(*mock_web_contents_observer(), 491 EXPECT_CALL(*mock_web_contents_observer(),
492 MediaSessionStateChanged(true, false, testing::_)); 492 MediaSessionStateChanged(true, false));
493 493
494 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 494 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
495 new MockMediaSessionObserver); 495 new MockMediaSessionObserver);
496 496
497 // Starting a player with a content type should show the media controls. 497 // Starting a player with a content type should show the media controls.
498 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 498 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
499 499
500 EXPECT_TRUE(IsControllable()); 500 EXPECT_TRUE(IsControllable());
501 EXPECT_FALSE(IsSuspended()); 501 EXPECT_FALSE(IsSuspended());
502 } 502 }
503 503
504 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, ControlsNoShowForTransient) { 504 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, ControlsNoShowForTransient) {
505 EXPECT_CALL(*mock_web_contents_observer(), 505 EXPECT_CALL(*mock_web_contents_observer(),
506 MediaSessionStateChanged(false, false, testing::_)); 506 MediaSessionStateChanged(false, false));
507 507
508 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 508 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
509 new MockMediaSessionObserver); 509 new MockMediaSessionObserver);
510 510
511 // Starting a player with a transient type should not show the media controls. 511 // Starting a player with a transient type should not show the media controls.
512 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Transient); 512 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Transient);
513 513
514 EXPECT_FALSE(IsControllable()); 514 EXPECT_FALSE(IsControllable());
515 EXPECT_FALSE(IsSuspended()); 515 EXPECT_FALSE(IsSuspended());
516 } 516 }
517 517
518 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, ControlsHideWhenStopped) { 518 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, ControlsHideWhenStopped) {
519 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(), 519 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(),
520 MediaSessionStateChanged(true, false, testing::_)); 520 MediaSessionStateChanged(true, false));
521 EXPECT_CALL(*mock_web_contents_observer(), 521 EXPECT_CALL(*mock_web_contents_observer(),
522 MediaSessionStateChanged(false, true, testing::_)) 522 MediaSessionStateChanged(false, true))
523 .After(showControls); 523 .After(showControls);
524 524
525 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 525 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
526 new MockMediaSessionObserver); 526 new MockMediaSessionObserver);
527 527
528 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 528 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
529 529
530 RemovePlayers(media_session_observer.get()); 530 RemovePlayers(media_session_observer.get());
531 531
532 EXPECT_FALSE(IsControllable()); 532 EXPECT_FALSE(IsControllable());
533 EXPECT_TRUE(IsSuspended()); 533 EXPECT_TRUE(IsSuspended());
534 } 534 }
535 535
536 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, ControlsShownAcceptTransient) { 536 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, ControlsShownAcceptTransient) {
537 EXPECT_CALL(*mock_web_contents_observer(), 537 EXPECT_CALL(*mock_web_contents_observer(),
538 MediaSessionStateChanged(true, false, testing::_)); 538 MediaSessionStateChanged(true, false));
539 539
540 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 540 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
541 new MockMediaSessionObserver); 541 new MockMediaSessionObserver);
542 542
543 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 543 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
544 544
545 // Transient player join the session without affecting the controls. 545 // Transient player join the session without affecting the controls.
546 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Transient); 546 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Transient);
547 547
548 EXPECT_TRUE(IsControllable()); 548 EXPECT_TRUE(IsControllable());
549 EXPECT_FALSE(IsSuspended()); 549 EXPECT_FALSE(IsSuspended());
550 } 550 }
551 551
552 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, 552 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
553 ControlsShownAfterContentAdded) { 553 ControlsShownAfterContentAdded) {
554 Expectation dontShowControls = EXPECT_CALL(*mock_web_contents_observer(), 554 Expectation dontShowControls = EXPECT_CALL(*mock_web_contents_observer(),
555 MediaSessionStateChanged(false, false, testing::_)); 555 MediaSessionStateChanged(false, false));
556 EXPECT_CALL(*mock_web_contents_observer(), 556 EXPECT_CALL(*mock_web_contents_observer(),
557 MediaSessionStateChanged(true, false, testing::_)) 557 MediaSessionStateChanged(true, false))
558 .After(dontShowControls); 558 .After(dontShowControls);
559 559
560 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 560 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
561 new MockMediaSessionObserver); 561 new MockMediaSessionObserver);
562 562
563 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Transient); 563 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Transient);
564 564
565 // The controls are shown when the content player is added. 565 // The controls are shown when the content player is added.
566 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 566 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
567 567
568 EXPECT_TRUE(IsControllable()); 568 EXPECT_TRUE(IsControllable());
569 EXPECT_FALSE(IsSuspended()); 569 EXPECT_FALSE(IsSuspended());
570 } 570 }
571 571
572 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, 572 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
573 ControlsStayIfOnlyOnePlayerHasBeenPaused) { 573 ControlsStayIfOnlyOnePlayerHasBeenPaused) {
574 EXPECT_CALL(*mock_web_contents_observer(), 574 EXPECT_CALL(*mock_web_contents_observer(),
575 MediaSessionStateChanged(true, false, testing::_)); 575 MediaSessionStateChanged(true, false));
576 576
577 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 577 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
578 new MockMediaSessionObserver); 578 new MockMediaSessionObserver);
579 579
580 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 580 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
581 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Transient); 581 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Transient);
582 582
583 // Removing only content player doesn't hide the controls since the session 583 // Removing only content player doesn't hide the controls since the session
584 // is still active. 584 // is still active.
585 RemovePlayer(media_session_observer.get(), 0); 585 RemovePlayer(media_session_observer.get(), 0);
586 586
587 EXPECT_TRUE(IsControllable()); 587 EXPECT_TRUE(IsControllable());
588 EXPECT_FALSE(IsSuspended()); 588 EXPECT_FALSE(IsSuspended());
589 } 589 }
590 590
591 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, 591 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
592 ControlsHideWhenTheLastPlayerIsRemoved) { 592 ControlsHideWhenTheLastPlayerIsRemoved) {
593 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(), 593 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(),
594 MediaSessionStateChanged(true, false, testing::_)); 594 MediaSessionStateChanged(true, false));
595 EXPECT_CALL(*mock_web_contents_observer(), 595 EXPECT_CALL(*mock_web_contents_observer(),
596 MediaSessionStateChanged(false, true, testing::_)) 596 MediaSessionStateChanged(false, true))
597 .After(showControls); 597 .After(showControls);
598 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 598 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
599 new MockMediaSessionObserver); 599 new MockMediaSessionObserver);
600 600
601 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 601 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
602 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 602 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
603 603
604 RemovePlayer(media_session_observer.get(), 0); 604 RemovePlayer(media_session_observer.get(), 0);
605 605
606 EXPECT_TRUE(IsControllable()); 606 EXPECT_TRUE(IsControllable());
607 EXPECT_FALSE(IsSuspended()); 607 EXPECT_FALSE(IsSuspended());
608 608
609 RemovePlayer(media_session_observer.get(), 1); 609 RemovePlayer(media_session_observer.get(), 1);
610 610
611 EXPECT_FALSE(IsControllable()); 611 EXPECT_FALSE(IsControllable());
612 EXPECT_TRUE(IsSuspended()); 612 EXPECT_TRUE(IsSuspended());
613 } 613 }
614 614
615 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, 615 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
616 ControlsHideWhenAllThePlayersAreRemoved) { 616 ControlsHideWhenAllThePlayersAreRemoved) {
617 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(), 617 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(),
618 MediaSessionStateChanged(true, false, testing::_)); 618 MediaSessionStateChanged(true, false));
619 EXPECT_CALL(*mock_web_contents_observer(), 619 EXPECT_CALL(*mock_web_contents_observer(),
620 MediaSessionStateChanged(false, true, testing::_)) 620 MediaSessionStateChanged(false, true))
621 .After(showControls); 621 .After(showControls);
622 622
623 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 623 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
624 new MockMediaSessionObserver); 624 new MockMediaSessionObserver);
625 625
626 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 626 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
627 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 627 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
628 628
629 RemovePlayers(media_session_observer.get()); 629 RemovePlayers(media_session_observer.get());
630 630
631 EXPECT_FALSE(IsControllable()); 631 EXPECT_FALSE(IsControllable());
632 EXPECT_TRUE(IsSuspended()); 632 EXPECT_TRUE(IsSuspended());
633 } 633 }
634 634
635 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, 635 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
636 ControlsNotHideWhenTheLastPlayerIsPaused) { 636 ControlsNotHideWhenTheLastPlayerIsPaused) {
637 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(), 637 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(),
638 MediaSessionStateChanged(true, false, testing::_)); 638 MediaSessionStateChanged(true, false));
639 EXPECT_CALL(*mock_web_contents_observer(), 639 EXPECT_CALL(*mock_web_contents_observer(),
640 MediaSessionStateChanged(true, true, testing::_)) 640 MediaSessionStateChanged(true, true))
641 .After(showControls); 641 .After(showControls);
642 642
643 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 643 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
644 new MockMediaSessionObserver); 644 new MockMediaSessionObserver);
645 645
646 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 646 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
647 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 647 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
648 648
649 OnPlayerPaused(media_session_observer.get(), 0); 649 OnPlayerPaused(media_session_observer.get(), 0);
650 650
651 EXPECT_TRUE(IsControllable()); 651 EXPECT_TRUE(IsControllable());
652 EXPECT_FALSE(IsSuspended()); 652 EXPECT_FALSE(IsSuspended());
653 653
654 OnPlayerPaused(media_session_observer.get(), 1); 654 OnPlayerPaused(media_session_observer.get(), 1);
655 655
656 EXPECT_TRUE(IsControllable()); 656 EXPECT_TRUE(IsControllable());
657 EXPECT_TRUE(IsSuspended()); 657 EXPECT_TRUE(IsSuspended());
658 } 658 }
659 659
660 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, 660 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
661 SuspendTemporaryUpdatesControls) { 661 SuspendTemporaryUpdatesControls) {
662 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(), 662 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(),
663 MediaSessionStateChanged(true, false, testing::_)); 663 MediaSessionStateChanged(true, false));
664 EXPECT_CALL(*mock_web_contents_observer(), 664 EXPECT_CALL(*mock_web_contents_observer(),
665 MediaSessionStateChanged(true, true, testing::_)) 665 MediaSessionStateChanged(true, true))
666 .After(showControls); 666 .After(showControls);
667 667
668 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 668 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
669 new MockMediaSessionObserver); 669 new MockMediaSessionObserver);
670 670
671 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 671 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
672 672
673 SystemSuspend(true); 673 SystemSuspend(true);
674 674
675 EXPECT_TRUE(IsControllable()); 675 EXPECT_TRUE(IsControllable());
676 EXPECT_TRUE(IsSuspended()); 676 EXPECT_TRUE(IsSuspended());
677 } 677 }
678 678
679 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, ControlsUpdatedWhenResumed) { 679 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, ControlsUpdatedWhenResumed) {
680 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(), 680 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(),
681 MediaSessionStateChanged(true, false, testing::_)); 681 MediaSessionStateChanged(true, false));
682 Expectation pauseControls = EXPECT_CALL(*mock_web_contents_observer(), 682 Expectation pauseControls = EXPECT_CALL(*mock_web_contents_observer(),
683 MediaSessionStateChanged(true, true, testing::_)).After(showControls); 683 MediaSessionStateChanged(true, true)).After(showControls);
684 EXPECT_CALL(*mock_web_contents_observer(), 684 EXPECT_CALL(*mock_web_contents_observer(),
685 MediaSessionStateChanged(true, false, testing::_)) 685 MediaSessionStateChanged(true, false))
686 .After(pauseControls); 686 .After(pauseControls);
687 687
688 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 688 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
689 new MockMediaSessionObserver); 689 new MockMediaSessionObserver);
690 690
691 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 691 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
692 SystemSuspend(true); 692 SystemSuspend(true);
693 SystemResume(); 693 SystemResume();
694 694
695 EXPECT_TRUE(IsControllable()); 695 EXPECT_TRUE(IsControllable());
696 EXPECT_FALSE(IsSuspended()); 696 EXPECT_FALSE(IsSuspended());
697 } 697 }
698 698
699 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, 699 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
700 ControlsHideWhenSessionSuspendedPermanently) { 700 ControlsHideWhenSessionSuspendedPermanently) {
701 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(), 701 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(),
702 MediaSessionStateChanged(true, false, testing::_)); 702 MediaSessionStateChanged(true, false));
703 EXPECT_CALL(*mock_web_contents_observer(), 703 EXPECT_CALL(*mock_web_contents_observer(),
704 MediaSessionStateChanged(false, true, testing::_)) 704 MediaSessionStateChanged(false, true))
705 .After(showControls); 705 .After(showControls);
706 706
707 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 707 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
708 new MockMediaSessionObserver); 708 new MockMediaSessionObserver);
709 709
710 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 710 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
711 711
712 SystemSuspend(false); 712 SystemSuspend(false);
713 713
714 EXPECT_FALSE(IsControllable()); 714 EXPECT_FALSE(IsControllable());
715 EXPECT_TRUE(IsSuspended()); 715 EXPECT_TRUE(IsSuspended());
716 } 716 }
717 717
718 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, 718 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
719 ConstrolsHideWhenSessionStops) { 719 ConstrolsHideWhenSessionStops) {
720 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(), 720 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(),
721 MediaSessionStateChanged(true, false, testing::_)); 721 MediaSessionStateChanged(true, false));
722 Expectation pauseControls = EXPECT_CALL(*mock_web_contents_observer(), 722 Expectation pauseControls = EXPECT_CALL(*mock_web_contents_observer(),
723 MediaSessionStateChanged(true, true, testing::_)).After(showControls); 723 MediaSessionStateChanged(true, true)).After(showControls);
724 EXPECT_CALL(*mock_web_contents_observer(), 724 EXPECT_CALL(*mock_web_contents_observer(),
725 MediaSessionStateChanged(false, true, testing::_)) 725 MediaSessionStateChanged(false, true))
726 .After(pauseControls); 726 .After(pauseControls);
727 727
728 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 728 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
729 new MockMediaSessionObserver); 729 new MockMediaSessionObserver);
730 730
731 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 731 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
732 732
733 media_session_->Stop(MediaSession::SuspendType::UI); 733 media_session_->Stop(MediaSession::SuspendType::UI);
734 734
735 EXPECT_FALSE(IsControllable()); 735 EXPECT_FALSE(IsControllable());
736 EXPECT_TRUE(IsSuspended()); 736 EXPECT_TRUE(IsSuspended());
737 } 737 }
738 738
739 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, 739 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
740 ControlsHideWhenSessionChangesFromContentToTransient) { 740 ControlsHideWhenSessionChangesFromContentToTransient) {
741 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(), 741 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(),
742 MediaSessionStateChanged(true, false, testing::_)); 742 MediaSessionStateChanged(true, false));
743 Expectation pauseControls = EXPECT_CALL(*mock_web_contents_observer(), 743 Expectation pauseControls = EXPECT_CALL(*mock_web_contents_observer(),
744 MediaSessionStateChanged(true, true, testing::_)).After(showControls); 744 MediaSessionStateChanged(true, true)).After(showControls);
745 EXPECT_CALL(*mock_web_contents_observer(), 745 EXPECT_CALL(*mock_web_contents_observer(),
746 MediaSessionStateChanged(false, false, testing::_)) 746 MediaSessionStateChanged(false, false))
747 .After(pauseControls); 747 .After(pauseControls);
748 748
749 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 749 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
750 new MockMediaSessionObserver); 750 new MockMediaSessionObserver);
751 751
752 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 752 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
753 SystemSuspend(true); 753 SystemSuspend(true);
754 754
755 // This should reset the session and change it to a transient, so 755 // This should reset the session and change it to a transient, so
756 // hide the controls. 756 // hide the controls.
757 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Transient); 757 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Transient);
758 758
759 EXPECT_FALSE(IsControllable()); 759 EXPECT_FALSE(IsControllable());
760 EXPECT_FALSE(IsSuspended()); 760 EXPECT_FALSE(IsSuspended());
761 } 761 }
762 762
763 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, 763 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
764 ControlsUpdatedWhenNewPlayerResetsSession) { 764 ControlsUpdatedWhenNewPlayerResetsSession) {
765 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(), 765 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(),
766 MediaSessionStateChanged(true, false, testing::_)); 766 MediaSessionStateChanged(true, false));
767 Expectation pauseControls = EXPECT_CALL(*mock_web_contents_observer(), 767 Expectation pauseControls = EXPECT_CALL(*mock_web_contents_observer(),
768 MediaSessionStateChanged(true, true, testing::_)).After(showControls); 768 MediaSessionStateChanged(true, true)).After(showControls);
769 EXPECT_CALL(*mock_web_contents_observer(), 769 EXPECT_CALL(*mock_web_contents_observer(),
770 MediaSessionStateChanged(true, false, testing::_)) 770 MediaSessionStateChanged(true, false))
771 .After(pauseControls); 771 .After(pauseControls);
772 772
773 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 773 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
774 new MockMediaSessionObserver); 774 new MockMediaSessionObserver);
775 775
776 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 776 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
777 SystemSuspend(true); 777 SystemSuspend(true);
778 778
779 // This should reset the session and update the controls. 779 // This should reset the session and update the controls.
780 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 780 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
781 781
782 EXPECT_TRUE(IsControllable()); 782 EXPECT_TRUE(IsControllable());
783 EXPECT_FALSE(IsSuspended()); 783 EXPECT_FALSE(IsSuspended());
784 } 784 }
785 785
786 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, 786 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
787 ControlsResumedWhenPlayerIsResumed) { 787 ControlsResumedWhenPlayerIsResumed) {
788 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(), 788 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(),
789 MediaSessionStateChanged(true, false, testing::_)); 789 MediaSessionStateChanged(true, false));
790 Expectation pauseControls = EXPECT_CALL(*mock_web_contents_observer(), 790 Expectation pauseControls = EXPECT_CALL(*mock_web_contents_observer(),
791 MediaSessionStateChanged(true, true, testing::_)).After(showControls); 791 MediaSessionStateChanged(true, true)).After(showControls);
792 EXPECT_CALL(*mock_web_contents_observer(), 792 EXPECT_CALL(*mock_web_contents_observer(),
793 MediaSessionStateChanged(true, false, testing::_)) 793 MediaSessionStateChanged(true, false))
794 .After(pauseControls); 794 .After(pauseControls);
795 795
796 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 796 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
797 new MockMediaSessionObserver); 797 new MockMediaSessionObserver);
798 798
799 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 799 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
800 SystemSuspend(true); 800 SystemSuspend(true);
801 801
802 // This should resume the session and update the controls. 802 // This should resume the session and update the controls.
803 AddPlayer(media_session_observer.get(), 0, MediaSession::Type::Content); 803 AddPlayer(media_session_observer.get(), 0, MediaSession::Type::Content);
804 804
805 EXPECT_TRUE(IsControllable()); 805 EXPECT_TRUE(IsControllable());
806 EXPECT_FALSE(IsSuspended()); 806 EXPECT_FALSE(IsSuspended());
807 } 807 }
808 808
809 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, 809 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
810 ControlsUpdatedDueToResumeSessionAction) { 810 ControlsUpdatedDueToResumeSessionAction) {
811 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(), 811 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(),
812 MediaSessionStateChanged(true, false, testing::_)); 812 MediaSessionStateChanged(true, false));
813 EXPECT_CALL(*mock_web_contents_observer(), 813 EXPECT_CALL(*mock_web_contents_observer(),
814 MediaSessionStateChanged(true, true, testing::_)) 814 MediaSessionStateChanged(true, true))
815 .After(showControls); 815 .After(showControls);
816 816
817 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 817 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
818 new MockMediaSessionObserver); 818 new MockMediaSessionObserver);
819 819
820 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 820 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
821 UISuspend(); 821 UISuspend();
822 822
823 EXPECT_TRUE(IsControllable()); 823 EXPECT_TRUE(IsControllable());
824 EXPECT_TRUE(IsSuspended()); 824 EXPECT_TRUE(IsSuspended());
825 } 825 }
826 826
827 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest, 827 IN_PROC_BROWSER_TEST_F(MediaSessionBrowserTest,
828 ControlsUpdatedDueToSuspendSessionAction) { 828 ControlsUpdatedDueToSuspendSessionAction) {
829 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(), 829 Expectation showControls = EXPECT_CALL(*mock_web_contents_observer(),
830 MediaSessionStateChanged(true, false, testing::_)); 830 MediaSessionStateChanged(true, false));
831 Expectation pauseControls = EXPECT_CALL(*mock_web_contents_observer(), 831 Expectation pauseControls = EXPECT_CALL(*mock_web_contents_observer(),
832 MediaSessionStateChanged(true, true, testing::_)).After(showControls); 832 MediaSessionStateChanged(true, true)).After(showControls);
833 EXPECT_CALL(*mock_web_contents_observer(), 833 EXPECT_CALL(*mock_web_contents_observer(),
834 MediaSessionStateChanged(true, false, testing::_)) 834 MediaSessionStateChanged(true, false))
835 .After(pauseControls); 835 .After(pauseControls);
836 836
837 std::unique_ptr<MockMediaSessionObserver> media_session_observer( 837 std::unique_ptr<MockMediaSessionObserver> media_session_observer(
838 new MockMediaSessionObserver); 838 new MockMediaSessionObserver);
839 839
840 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 840 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
841 UISuspend(); 841 UISuspend();
842 UIResume(); 842 UIResume();
843 843
844 EXPECT_TRUE(IsControllable()); 844 EXPECT_TRUE(IsControllable());
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after
1194 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content); 1194 StartNewPlayer(media_session_observer.get(), MediaSession::Type::Content);
1195 clock->Advance(base::TimeDelta::FromMilliseconds(1000)); 1195 clock->Advance(base::TimeDelta::FromMilliseconds(1000));
1196 media_session_->Stop(MediaSession::SuspendType::UI); 1196 media_session_->Stop(MediaSession::SuspendType::UI);
1197 1197
1198 std::unique_ptr<base::HistogramSamples> samples( 1198 std::unique_ptr<base::HistogramSamples> samples(
1199 tester.GetHistogramSamplesSinceCreation("Media.Session.ActiveTime")); 1199 tester.GetHistogramSamplesSinceCreation("Media.Session.ActiveTime"));
1200 EXPECT_EQ(2, samples->TotalCount()); 1200 EXPECT_EQ(2, samples->TotalCount());
1201 EXPECT_EQ(1, samples->GetCount(1000)); 1201 EXPECT_EQ(1, samples->GetCount(1000));
1202 EXPECT_EQ(1, samples->GetCount(10000)); 1202 EXPECT_EQ(1, samples->GetCount(10000));
1203 } 1203 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698