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

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

Issue 2904263002: [Media Controls] Tests for rotate-to-fullscreen meets orientation lock (Closed)
Patch Set: Nits Created 3 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 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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/MediaControlsRotateToFullscreenDelegate.h" 5 #include "modules/media_controls/MediaControlsRotateToFullscreenDelegate.h"
6 6
7 #include "core/HTMLNames.h" 7 #include "core/HTMLNames.h"
8 #include "core/css/CSSStyleDeclaration.h" 8 #include "core/css/CSSStyleDeclaration.h"
9 #include "core/dom/Document.h" 9 #include "core/dom/Document.h"
10 #include "core/dom/DocumentUserGestureToken.h" 10 #include "core/dom/DocumentUserGestureToken.h"
(...skipping 590 matching lines...) Expand 10 before | Expand all | Expand 10 after
601 // n.b. omit to call Fullscreen::From(GetDocument()).DidEnterFullscreen() so 601 // n.b. omit to call Fullscreen::From(GetDocument()).DidEnterFullscreen() so
602 // that MediaControlsOrientationLockDelegate doesn't trigger, which avoids 602 // that MediaControlsOrientationLockDelegate doesn't trigger, which avoids
603 // having to create deviceorientation events here to unlock it again. 603 // having to create deviceorientation events here to unlock it again.
604 testing::RunPendingTasks(); 604 testing::RunPendingTasks();
605 EXPECT_TRUE(GetVideo().IsFullscreen()); 605 EXPECT_TRUE(GetVideo().IsFullscreen());
606 606
607 // Leave video paused (playing is not a requirement to exit fullscreen). 607 // Leave video paused (playing is not a requirement to exit fullscreen).
608 EXPECT_TRUE(GetVideo().paused()); 608 EXPECT_TRUE(GetVideo().paused());
609 EXPECT_FALSE(ObservedVisibility()); 609 EXPECT_FALSE(ObservedVisibility());
610 610
611 // Rotate screen to portrait. This relies on the screen orientation no longer 611 // Rotate screen to portrait. This relies on the screen orientation not being
612 // being locked by MediaControlsOrientationLockDelegate. 612 // locked by MediaControlsOrientationLockDelegate (which has its own tests).
613 RotateTo(kWebScreenOrientationPortraitPrimary); 613 RotateTo(kWebScreenOrientationPortraitPrimary);
614 614
615 // Should exit fullscreen. 615 // Should exit fullscreen.
616 EXPECT_FALSE(GetVideo().IsFullscreen()); 616 EXPECT_FALSE(GetVideo().IsFullscreen());
617 } 617 }
618 618
619 TEST_F(MediaControlsRotateToFullscreenDelegateTest, 619 TEST_F(MediaControlsRotateToFullscreenDelegateTest,
620 ExitSuccessPortraitFullscreenToLandscapeInline) { 620 ExitSuccessPortraitFullscreenToLandscapeInline) {
621 // Portrait screen, portrait video. 621 // Portrait screen, portrait video.
622 InitScreenAndVideo(kWebScreenOrientationPortraitPrimary, WebSize(480, 640)); 622 InitScreenAndVideo(kWebScreenOrientationPortraitPrimary, WebSize(480, 640));
623 EXPECT_EQ(SimpleOrientation::kPortrait, ObservedScreenOrientation()); 623 EXPECT_EQ(SimpleOrientation::kPortrait, ObservedScreenOrientation());
624 EXPECT_EQ(SimpleOrientation::kPortrait, ComputeVideoOrientation()); 624 EXPECT_EQ(SimpleOrientation::kPortrait, ComputeVideoOrientation());
625 625
626 // Start in fullscreen. 626 // Start in fullscreen.
627 { 627 {
628 UserGestureIndicator gesture( 628 UserGestureIndicator gesture(
629 DocumentUserGestureToken::Create(&GetDocument())); 629 DocumentUserGestureToken::Create(&GetDocument()));
630 GetMediaControls().EnterFullscreen(); 630 GetMediaControls().EnterFullscreen();
631 } 631 }
632 // n.b. omit to call Fullscreen::From(GetDocument()).DidEnterFullscreen() so 632 // n.b. omit to call Fullscreen::From(GetDocument()).DidEnterFullscreen() so
633 // that MediaControlsOrientationLockDelegate doesn't trigger, which avoids 633 // that MediaControlsOrientationLockDelegate doesn't trigger, which avoids
634 // having to create deviceorientation events here to unlock it again. 634 // having to create deviceorientation events here to unlock it again.
635 testing::RunPendingTasks(); 635 testing::RunPendingTasks();
636 EXPECT_TRUE(GetVideo().IsFullscreen()); 636 EXPECT_TRUE(GetVideo().IsFullscreen());
637 637
638 // Leave video paused (playing is not a requirement to exit fullscreen). 638 // Leave video paused (playing is not a requirement to exit fullscreen).
639 EXPECT_TRUE(GetVideo().paused()); 639 EXPECT_TRUE(GetVideo().paused());
640 EXPECT_FALSE(ObservedVisibility()); 640 EXPECT_FALSE(ObservedVisibility());
641 641
642 // Rotate screen to portrait. This relies on the screen orientation no longer 642 // Rotate screen to landscape. This relies on the screen orientation not being
643 // being locked by MediaControlsOrientationLockDelegate. 643 // locked by MediaControlsOrientationLockDelegate (which has its own tests).
644 RotateTo(kWebScreenOrientationLandscapePrimary); 644 RotateTo(kWebScreenOrientationLandscapePrimary);
645 645
646 // Should exit fullscreen. 646 // Should exit fullscreen.
647 EXPECT_FALSE(GetVideo().IsFullscreen()); 647 EXPECT_FALSE(GetVideo().IsFullscreen());
648 } 648 }
649 649
650 TEST_F(MediaControlsRotateToFullscreenDelegateTest, 650 TEST_F(MediaControlsRotateToFullscreenDelegateTest,
651 ExitFailDocumentFullscreen) { 651 ExitFailDocumentFullscreen) {
652 // Landscape screen, landscape video. 652 // Landscape screen, landscape video.
653 InitScreenAndVideo(kWebScreenOrientationLandscapePrimary, WebSize(640, 480)); 653 InitScreenAndVideo(kWebScreenOrientationLandscapePrimary, WebSize(640, 480));
(...skipping 17 matching lines...) Expand all
671 671
672 // Rotate screen to portrait. 672 // Rotate screen to portrait.
673 RotateTo(kWebScreenOrientationPortraitPrimary); 673 RotateTo(kWebScreenOrientationPortraitPrimary);
674 674
675 // Should not exit fullscreen, since video was not the fullscreen element. 675 // Should not exit fullscreen, since video was not the fullscreen element.
676 EXPECT_TRUE(Fullscreen::IsCurrentFullScreenElement(*GetDocument().body())); 676 EXPECT_TRUE(Fullscreen::IsCurrentFullScreenElement(*GetDocument().body()));
677 EXPECT_FALSE(GetVideo().IsFullscreen()); 677 EXPECT_FALSE(GetVideo().IsFullscreen());
678 } 678 }
679 679
680 } // namespace blink 680 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698