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

Side by Side Diff: third_party/WebKit/Source/modules/media_controls/MediaControlsImplTest.cpp

Issue 2802133002: Move MediaControlsWindowEventListener to modules/media_controls/. (Closed)
Patch Set: rebase after blink rename 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "modules/media_controls/MediaControlsImpl.h" 5 #include "modules/media_controls/MediaControlsImpl.h"
6 6
7 #include <limits> 7 #include <limits>
8 #include <memory> 8 #include <memory>
9 #include "core/HTMLNames.h" 9 #include "core/HTMLNames.h"
10 #include "core/css/StylePropertySet.h" 10 #include "core/css/StylePropertySet.h"
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 media_controls_->MediaElement().getBoundingClientRect()); 192 media_controls_->MediaElement().getBoundingClientRect());
193 } 193 }
194 194
195 void SimulateHideMediaControlsTimerFired() { 195 void SimulateHideMediaControlsTimerFired() {
196 media_controls_->HideMediaControlsTimerFired(nullptr); 196 media_controls_->HideMediaControlsTimerFired(nullptr);
197 } 197 }
198 198
199 void SimulateLoadedMetadata() { media_controls_->OnLoadedMetadata(); } 199 void SimulateLoadedMetadata() { media_controls_->OnLoadedMetadata(); }
200 200
201 MediaControlsImpl& MediaControls() { return *media_controls_; } 201 MediaControlsImpl& MediaControls() { return *media_controls_; }
202 MediaControlVolumeSliderElement* VolumeSliderElement() const {
203 return media_controls_->volume_slider_;
204 }
205 MediaControlTimelineElement* TimelineElement() const {
206 return media_controls_->timeline_;
207 }
202 MockVideoWebMediaPlayer* WebMediaPlayer() { 208 MockVideoWebMediaPlayer* WebMediaPlayer() {
203 return static_cast<MockVideoWebMediaPlayer*>( 209 return static_cast<MockVideoWebMediaPlayer*>(
204 MediaControls().MediaElement().GetWebMediaPlayer()); 210 MediaControls().MediaElement().GetWebMediaPlayer());
205 } 211 }
206 Document& GetDocument() { return page_holder_->GetDocument(); } 212 Document& GetDocument() { return page_holder_->GetDocument(); }
207 213
208 HistogramTester& GetHistogramTester() { return histogram_tester_; } 214 HistogramTester& GetHistogramTester() { return histogram_tester_; }
209 215
210 void LoadMediaWithDuration(double duration) { 216 void LoadMediaWithDuration(double duration) {
211 MediaControls().MediaElement().SetSrc("https://example.com/foo.mp4"); 217 MediaControls().MediaElement().SetSrc("https://example.com/foo.mp4");
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
535 // Download button should not be displayed for HLS streams. 541 // Download button should not be displayed for HLS streams.
536 MediaControls().MediaElement().SetSrc("https://example.com/foo.m3u8"); 542 MediaControls().MediaElement().SetSrc("https://example.com/foo.m3u8");
537 testing::RunPendingTasks(); 543 testing::RunPendingTasks();
538 SimulateLoadedMetadata(); 544 SimulateLoadedMetadata();
539 EXPECT_FALSE(IsElementVisible(*download_button)); 545 EXPECT_FALSE(IsElementVisible(*download_button));
540 } 546 }
541 547
542 TEST_F(MediaControlsImplTest, TimelineSeekToRoundedEnd) { 548 TEST_F(MediaControlsImplTest, TimelineSeekToRoundedEnd) {
543 EnsureSizing(); 549 EnsureSizing();
544 550
545 // Tests the case where the real length of the video, |exactDuration|, gets 551 // Tests the case where the real length of the video, |exact_duration|, gets
546 // rounded up slightly to |roundedUpDuration| when setting the timeline's 552 // rounded up slightly to |rounded_up_duration| when setting the timeline's
547 // |max| attribute (crbug.com/695065). 553 // |max| attribute (crbug.com/695065).
548 double exact_duration = 596.586667; 554 double exact_duration = 596.586667;
549 double rounded_up_duration = 596.587; 555 double rounded_up_duration = 596.587;
550 LoadMediaWithDuration(exact_duration); 556 LoadMediaWithDuration(exact_duration);
551 557
552 // Simulate a click slightly past the end of the track of the timeline's 558 // Simulate a click slightly past the end of the track of the timeline's
553 // underlying <input type="range">. This would set the |value| to the |max| 559 // underlying <input type="range">. This would set the |value| to the |max|
554 // attribute, which can be slightly rounded relative to the duration. 560 // attribute, which can be slightly rounded relative to the duration.
555 MediaControlTimelineElement* timeline = MediaControls().TimelineElement(); 561 MediaControlTimelineElement* timeline = TimelineElement();
556 timeline->setValueAsNumber(rounded_up_duration, ASSERT_NO_EXCEPTION); 562 timeline->setValueAsNumber(rounded_up_duration, ASSERT_NO_EXCEPTION);
557 ASSERT_EQ(rounded_up_duration, timeline->valueAsNumber()); 563 ASSERT_EQ(rounded_up_duration, timeline->valueAsNumber());
558 EXPECT_EQ(0.0, MediaControls().MediaElement().currentTime()); 564 EXPECT_EQ(0.0, MediaControls().MediaElement().currentTime());
559 timeline->DispatchInputEvent(); 565 timeline->DispatchInputEvent();
560 EXPECT_EQ(exact_duration, MediaControls().MediaElement().currentTime()); 566 EXPECT_EQ(exact_duration, MediaControls().MediaElement().currentTime());
561 } 567 }
562 568
563 TEST_F(MediaControlsImplTest, TimelineImmediatelyUpdatesCurrentTime) { 569 TEST_F(MediaControlsImplTest, TimelineImmediatelyUpdatesCurrentTime) {
564 EnsureSizing(); 570 EnsureSizing();
565 571
566 MediaControlCurrentTimeDisplayElement* current_time_display = 572 MediaControlCurrentTimeDisplayElement* current_time_display =
567 static_cast<MediaControlCurrentTimeDisplayElement*>( 573 static_cast<MediaControlCurrentTimeDisplayElement*>(
568 GetElementByShadowPseudoId( 574 GetElementByShadowPseudoId(
569 MediaControls(), "-webkit-media-controls-current-time-display")); 575 MediaControls(), "-webkit-media-controls-current-time-display"));
570 576
571 double duration = 600; 577 double duration = 600;
572 LoadMediaWithDuration(duration); 578 LoadMediaWithDuration(duration);
573 579
574 // Simulate seeking the underlying range to 50%. Current time display should 580 // Simulate seeking the underlying range to 50%. Current time display should
575 // update synchronously (rather than waiting for media to finish seeking). 581 // update synchronously (rather than waiting for media to finish seeking).
576 MediaControls().TimelineElement()->setValueAsNumber(duration / 2, 582 TimelineElement()->setValueAsNumber(duration / 2, ASSERT_NO_EXCEPTION);
577 ASSERT_NO_EXCEPTION); 583 TimelineElement()->DispatchInputEvent();
578 MediaControls().TimelineElement()->DispatchInputEvent();
579 EXPECT_EQ(duration / 2, current_time_display->CurrentValue()); 584 EXPECT_EQ(duration / 2, current_time_display->CurrentValue());
580 } 585 }
581 586
582 TEST_F(MediaControlsImplTest, VolumeSliderPaintInvalidationOnInput) { 587 TEST_F(MediaControlsImplTest, VolumeSliderPaintInvalidationOnInput) {
583 EnsureSizing(); 588 EnsureSizing();
584 589
585 Element* volume_slider = MediaControls().VolumeSliderElement(); 590 Element* volume_slider = VolumeSliderElement();
586 591
587 MockLayoutObject layout_object; 592 MockLayoutObject layout_object;
588 LayoutObject* prev_layout_object = volume_slider->GetLayoutObject(); 593 LayoutObject* prev_layout_object = volume_slider->GetLayoutObject();
589 volume_slider->SetLayoutObject(&layout_object); 594 volume_slider->SetLayoutObject(&layout_object);
590 595
591 Event* event = Event::Create(EventTypeNames::input); 596 Event* event = Event::Create(EventTypeNames::input);
592 volume_slider->DefaultEventHandler(event); 597 volume_slider->DefaultEventHandler(event);
593 EXPECT_EQ(1, layout_object.FullPaintInvalidationCallCount()); 598 EXPECT_EQ(1, layout_object.FullPaintInvalidationCallCount());
594 599
595 event = Event::Create(EventTypeNames::input); 600 event = Event::Create(EventTypeNames::input);
596 volume_slider->DefaultEventHandler(event); 601 volume_slider->DefaultEventHandler(event);
597 EXPECT_EQ(2, layout_object.FullPaintInvalidationCallCount()); 602 EXPECT_EQ(2, layout_object.FullPaintInvalidationCallCount());
598 603
599 event = Event::Create(EventTypeNames::input); 604 event = Event::Create(EventTypeNames::input);
600 volume_slider->DefaultEventHandler(event); 605 volume_slider->DefaultEventHandler(event);
601 EXPECT_EQ(3, layout_object.FullPaintInvalidationCallCount()); 606 EXPECT_EQ(3, layout_object.FullPaintInvalidationCallCount());
602 607
603 volume_slider->SetLayoutObject(prev_layout_object); 608 volume_slider->SetLayoutObject(prev_layout_object);
604 } 609 }
605 610
606 TEST_F(MediaControlsImplTest, TimelineMetricsWidth) { 611 TEST_F(MediaControlsImplTest, TimelineMetricsWidth) {
607 MediaControls().MediaElement().SetSrc("https://example.com/foo.mp4"); 612 MediaControls().MediaElement().SetSrc("https://example.com/foo.mp4");
608 testing::RunPendingTasks(); 613 testing::RunPendingTasks();
609 SetReady(); 614 SetReady();
610 EnsureSizing(); 615 EnsureSizing();
611 testing::RunPendingTasks(); 616 testing::RunPendingTasks();
612 617
613 MediaControlTimelineElement* timeline = MediaControls().TimelineElement(); 618 MediaControlTimelineElement* timeline = TimelineElement();
614 ASSERT_TRUE(IsElementVisible(*timeline)); 619 ASSERT_TRUE(IsElementVisible(*timeline));
615 ASSERT_LT(0, timeline->getBoundingClientRect()->width()); 620 ASSERT_LT(0, timeline->getBoundingClientRect()->width());
616 621
617 MediaControls().MediaElement().Play(); 622 MediaControls().MediaElement().Play();
618 testing::RunPendingTasks(); 623 testing::RunPendingTasks();
619 624
620 GetHistogramTester().ExpectUniqueSample( 625 GetHistogramTester().ExpectUniqueSample(
621 "Media.Timeline.Width.InlineLandscape", 626 "Media.Timeline.Width.InlineLandscape",
622 timeline->getBoundingClientRect()->width(), 1); 627 timeline->getBoundingClientRect()->width(), 1);
623 GetHistogramTester().ExpectTotalCount("Media.Timeline.Width.InlinePortrait", 628 GetHistogramTester().ExpectTotalCount("Media.Timeline.Width.InlinePortrait",
624 0); 629 0);
625 GetHistogramTester().ExpectTotalCount( 630 GetHistogramTester().ExpectTotalCount(
626 "Media.Timeline.Width.FullscreenLandscape", 0); 631 "Media.Timeline.Width.FullscreenLandscape", 0);
627 GetHistogramTester().ExpectTotalCount( 632 GetHistogramTester().ExpectTotalCount(
628 "Media.Timeline.Width.FullscreenPortrait", 0); 633 "Media.Timeline.Width.FullscreenPortrait", 0);
629 } 634 }
630 635
631 // TODO(johnme): Fix and re-enable this on Android. 636 // TODO(johnme): Fix and re-enable this on Android.
632 #if OS(ANDROID) 637 #if OS(ANDROID)
633 #define MAYBE_TimelineMetricsClick DISABLED_TimelineMetricsClick 638 #define MAYBE_TimelineMetricsClick DISABLED_TimelineMetricsClick
634 #else 639 #else
635 #define MAYBE_TimelineMetricsClick TimelineMetricsClick 640 #define MAYBE_TimelineMetricsClick TimelineMetricsClick
636 #endif 641 #endif
637 TEST_F(MediaControlsImplTest, MAYBE_TimelineMetricsClick) { 642 TEST_F(MediaControlsImplTest, MAYBE_TimelineMetricsClick) {
638 double duration = 540; // 9 minutes 643 double duration = 540; // 9 minutes
639 LoadMediaWithDuration(duration); 644 LoadMediaWithDuration(duration);
640 EnsureSizing(); 645 EnsureSizing();
641 testing::RunPendingTasks(); 646 testing::RunPendingTasks();
642 647
643 ASSERT_TRUE(IsElementVisible(*MediaControls().TimelineElement())); 648 ASSERT_TRUE(IsElementVisible(*TimelineElement()));
644 ClientRect* timeline_rect = 649 ClientRect* timelineRect = TimelineElement()->getBoundingClientRect();
645 MediaControls().TimelineElement()->getBoundingClientRect(); 650 ASSERT_LT(0, timelineRect->width());
646 ASSERT_LT(0, timeline_rect->width());
647 651
648 EXPECT_EQ(0, MediaControls().MediaElement().currentTime()); 652 EXPECT_EQ(0, MediaControls().MediaElement().currentTime());
649 653
650 WebFloatPoint track_center( 654 WebFloatPoint trackCenter(timelineRect->left() + timelineRect->width() / 2,
651 timeline_rect->left() + timeline_rect->width() / 2, 655 timelineRect->top() + timelineRect->height() / 2);
652 timeline_rect->top() + timeline_rect->height() / 2); 656 MouseDownAt(trackCenter);
653 MouseDownAt(track_center); 657 MouseUpAt(trackCenter);
654 MouseUpAt(track_center);
655 testing::RunPendingTasks(); 658 testing::RunPendingTasks();
656 659
657 EXPECT_LE(0.49 * duration, MediaControls().MediaElement().currentTime()); 660 EXPECT_LE(0.49 * duration, MediaControls().MediaElement().currentTime());
658 EXPECT_GE(0.51 * duration, MediaControls().MediaElement().currentTime()); 661 EXPECT_GE(0.51 * duration, MediaControls().MediaElement().currentTime());
659 662
660 GetHistogramTester().ExpectUniqueSample("Media.Timeline.SeekType.128_255", 663 GetHistogramTester().ExpectUniqueSample("Media.Timeline.SeekType.128_255",
661 0 /* SeekType::kClick */, 1); 664 0 /* SeekType::kClick */, 1);
662 GetHistogramTester().ExpectTotalCount( 665 GetHistogramTester().ExpectTotalCount(
663 "Media.Timeline.DragGestureDuration.128_255", 0); 666 "Media.Timeline.DragGestureDuration.128_255", 0);
664 GetHistogramTester().ExpectTotalCount("Media.Timeline.DragPercent.128_255", 667 GetHistogramTester().ExpectTotalCount("Media.Timeline.DragPercent.128_255",
(...skipping 11 matching lines...) Expand all
676 #else 679 #else
677 #define MAYBE_TimelineMetricsDragFromCurrentPosition \ 680 #define MAYBE_TimelineMetricsDragFromCurrentPosition \
678 TimelineMetricsDragFromCurrentPosition 681 TimelineMetricsDragFromCurrentPosition
679 #endif 682 #endif
680 TEST_F(MediaControlsImplTest, MAYBE_TimelineMetricsDragFromCurrentPosition) { 683 TEST_F(MediaControlsImplTest, MAYBE_TimelineMetricsDragFromCurrentPosition) {
681 double duration = 540; // 9 minutes 684 double duration = 540; // 9 minutes
682 LoadMediaWithDuration(duration); 685 LoadMediaWithDuration(duration);
683 EnsureSizing(); 686 EnsureSizing();
684 testing::RunPendingTasks(); 687 testing::RunPendingTasks();
685 688
686 ASSERT_TRUE(IsElementVisible(*MediaControls().TimelineElement())); 689 ASSERT_TRUE(IsElementVisible(*TimelineElement()));
687 ClientRect* timeline_rect = 690 ClientRect* timeline_rect = TimelineElement()->getBoundingClientRect();
688 MediaControls().TimelineElement()->getBoundingClientRect();
689 ASSERT_LT(0, timeline_rect->width()); 691 ASSERT_LT(0, timeline_rect->width());
690 692
691 EXPECT_EQ(0, MediaControls().MediaElement().currentTime()); 693 EXPECT_EQ(0, MediaControls().MediaElement().currentTime());
692 694
693 float y = timeline_rect->top() + timeline_rect->height() / 2; 695 float y = timeline_rect->top() + timeline_rect->height() / 2;
694 WebFloatPoint thumb(timeline_rect->left(), y); 696 WebFloatPoint thumb(timeline_rect->left(), y);
695 WebFloatPoint track_two_thirds( 697 WebFloatPoint track_two_thirds(
696 timeline_rect->left() + timeline_rect->width() * 2 / 3, y); 698 timeline_rect->left() + timeline_rect->width() * 2 / 3, y);
697 MouseDownAt(thumb); 699 MouseDownAt(thumb);
698 MouseMoveTo(track_two_thirds); 700 MouseMoveTo(track_two_thirds);
(...skipping 21 matching lines...) Expand all
720 DISABLED_TimelineMetricsDragFromElsewhere 722 DISABLED_TimelineMetricsDragFromElsewhere
721 #else 723 #else
722 #define MAYBE_TimelineMetricsDragFromElsewhere TimelineMetricsDragFromElsewhere 724 #define MAYBE_TimelineMetricsDragFromElsewhere TimelineMetricsDragFromElsewhere
723 #endif 725 #endif
724 TEST_F(MediaControlsImplTest, MAYBE_TimelineMetricsDragFromElsewhere) { 726 TEST_F(MediaControlsImplTest, MAYBE_TimelineMetricsDragFromElsewhere) {
725 double duration = 540; // 9 minutes 727 double duration = 540; // 9 minutes
726 LoadMediaWithDuration(duration); 728 LoadMediaWithDuration(duration);
727 EnsureSizing(); 729 EnsureSizing();
728 testing::RunPendingTasks(); 730 testing::RunPendingTasks();
729 731
730 ASSERT_TRUE(IsElementVisible(*MediaControls().TimelineElement())); 732 ASSERT_TRUE(IsElementVisible(*TimelineElement()));
731 ClientRect* timeline_rect = 733 ClientRect* timelineRect = TimelineElement()->getBoundingClientRect();
732 MediaControls().TimelineElement()->getBoundingClientRect(); 734 ASSERT_LT(0, timelineRect->width());
733 ASSERT_LT(0, timeline_rect->width());
734 735
735 EXPECT_EQ(0, MediaControls().MediaElement().currentTime()); 736 EXPECT_EQ(0, MediaControls().MediaElement().currentTime());
736 737
737 float y = timeline_rect->top() + timeline_rect->height() / 2; 738 float y = timelineRect->top() + timelineRect->height() / 2;
738 WebFloatPoint track_one_third( 739 WebFloatPoint trackOneThird(
739 timeline_rect->left() + timeline_rect->width() * 1 / 3, y); 740 timelineRect->left() + timelineRect->width() * 1 / 3, y);
740 WebFloatPoint track_two_thirds( 741 WebFloatPoint trackTwoThirds(
741 timeline_rect->left() + timeline_rect->width() * 2 / 3, y); 742 timelineRect->left() + timelineRect->width() * 2 / 3, y);
742 MouseDownAt(track_one_third); 743 MouseDownAt(trackOneThird);
743 MouseMoveTo(track_two_thirds); 744 MouseMoveTo(trackTwoThirds);
744 MouseUpAt(track_two_thirds); 745 MouseUpAt(trackTwoThirds);
745 746
746 EXPECT_LE(0.66 * duration, MediaControls().MediaElement().currentTime()); 747 EXPECT_LE(0.66 * duration, MediaControls().MediaElement().currentTime());
747 EXPECT_GE(0.68 * duration, MediaControls().MediaElement().currentTime()); 748 EXPECT_GE(0.68 * duration, MediaControls().MediaElement().currentTime());
748 749
749 GetHistogramTester().ExpectUniqueSample("Media.Timeline.SeekType.128_255", 750 GetHistogramTester().ExpectUniqueSample("Media.Timeline.SeekType.128_255",
750 2 /* SeekType::kDragFromElsewhere */, 751 2 /* SeekType::kDragFromElsewhere */,
751 1); 752 1);
752 GetHistogramTester().ExpectTotalCount( 753 GetHistogramTester().ExpectTotalCount(
753 "Media.Timeline.DragGestureDuration.128_255", 1); 754 "Media.Timeline.DragGestureDuration.128_255", 1);
754 GetHistogramTester().ExpectUniqueSample("Media.Timeline.DragPercent.128_255", 755 GetHistogramTester().ExpectUniqueSample("Media.Timeline.DragPercent.128_255",
(...skipping 10 matching lines...) Expand all
765 DISABLED_TimelineMetricsDragBackAndForth 766 DISABLED_TimelineMetricsDragBackAndForth
766 #else 767 #else
767 #define MAYBE_TimelineMetricsDragBackAndForth TimelineMetricsDragBackAndForth 768 #define MAYBE_TimelineMetricsDragBackAndForth TimelineMetricsDragBackAndForth
768 #endif 769 #endif
769 TEST_F(MediaControlsImplTest, MAYBE_TimelineMetricsDragBackAndForth) { 770 TEST_F(MediaControlsImplTest, MAYBE_TimelineMetricsDragBackAndForth) {
770 double duration = 540; // 9 minutes 771 double duration = 540; // 9 minutes
771 LoadMediaWithDuration(duration); 772 LoadMediaWithDuration(duration);
772 EnsureSizing(); 773 EnsureSizing();
773 testing::RunPendingTasks(); 774 testing::RunPendingTasks();
774 775
775 ASSERT_TRUE(IsElementVisible(*MediaControls().TimelineElement())); 776 ASSERT_TRUE(IsElementVisible(*TimelineElement()));
776 ClientRect* timeline_rect = 777 ClientRect* timelineRect = TimelineElement()->getBoundingClientRect();
777 MediaControls().TimelineElement()->getBoundingClientRect(); 778 ASSERT_LT(0, timelineRect->width());
778 ASSERT_LT(0, timeline_rect->width());
779 779
780 EXPECT_EQ(0, MediaControls().MediaElement().currentTime()); 780 EXPECT_EQ(0, MediaControls().MediaElement().currentTime());
781 781
782 float y = timeline_rect->top() + timeline_rect->height() / 2; 782 float y = timelineRect->top() + timelineRect->height() / 2;
783 WebFloatPoint track_two_thirds( 783 WebFloatPoint trackTwoThirds(
784 timeline_rect->left() + timeline_rect->width() * 2 / 3, y); 784 timelineRect->left() + timelineRect->width() * 2 / 3, y);
785 WebFloatPoint track_end(timeline_rect->left() + timeline_rect->width(), y); 785 WebFloatPoint trackEnd(timelineRect->left() + timelineRect->width(), y);
786 WebFloatPoint track_one_third( 786 WebFloatPoint trackOneThird(
787 timeline_rect->left() + timeline_rect->width() * 1 / 3, y); 787 timelineRect->left() + timelineRect->width() * 1 / 3, y);
788 MouseDownAt(track_two_thirds); 788 MouseDownAt(trackTwoThirds);
789 MouseMoveTo(track_end); 789 MouseMoveTo(trackEnd);
790 MouseMoveTo(track_one_third); 790 MouseMoveTo(trackOneThird);
791 MouseUpAt(track_one_third); 791 MouseUpAt(trackOneThird);
792 792
793 EXPECT_LE(0.32 * duration, MediaControls().MediaElement().currentTime()); 793 EXPECT_LE(0.32 * duration, MediaControls().MediaElement().currentTime());
794 EXPECT_GE(0.34 * duration, MediaControls().MediaElement().currentTime()); 794 EXPECT_GE(0.34 * duration, MediaControls().MediaElement().currentTime());
795 795
796 GetHistogramTester().ExpectUniqueSample("Media.Timeline.SeekType.128_255", 796 GetHistogramTester().ExpectUniqueSample("Media.Timeline.SeekType.128_255",
797 2 /* SeekType::kDragFromElsewhere */, 797 2 /* SeekType::kDragFromElsewhere */,
798 1); 798 1);
799 GetHistogramTester().ExpectTotalCount( 799 GetHistogramTester().ExpectTotalCount(
800 "Media.Timeline.DragGestureDuration.128_255", 1); 800 "Media.Timeline.DragGestureDuration.128_255", 1);
801 GetHistogramTester().ExpectUniqueSample("Media.Timeline.DragPercent.128_255", 801 GetHistogramTester().ExpectUniqueSample("Media.Timeline.DragPercent.128_255",
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
842 MediaControls().PanelElement()->DispatchEvent(Event::Create("keypress")); 842 MediaControls().PanelElement()->DispatchEvent(Event::Create("keypress"));
843 platform->RunForPeriodSeconds(2); 843 platform->RunForPeriodSeconds(2);
844 EXPECT_TRUE(IsElementVisible(*panel)); 844 EXPECT_TRUE(IsElementVisible(*panel));
845 845
846 // Once user interaction stops, controls can hide. 846 // Once user interaction stops, controls can hide.
847 platform->RunForPeriodSeconds(2); 847 platform->RunForPeriodSeconds(2);
848 EXPECT_FALSE(IsElementVisible(*panel)); 848 EXPECT_FALSE(IsElementVisible(*panel));
849 } 849 }
850 850
851 } // namespace blink 851 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698