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

Side by Side Diff: Source/core/html/HTMLMediaElement.cpp

Issue 22454003: Support subtitles for native fullscreen video (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: revert video-controls-override.html Created 7 years, 3 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved. 2 * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 #include "core/page/Page.h" 59 #include "core/page/Page.h"
60 #include "core/page/Settings.h" 60 #include "core/page/Settings.h"
61 #include "core/platform/ContentType.h" 61 #include "core/platform/ContentType.h"
62 #include "core/platform/Language.h" 62 #include "core/platform/Language.h"
63 #include "core/platform/Logging.h" 63 #include "core/platform/Logging.h"
64 #include "core/platform/MIMETypeFromURL.h" 64 #include "core/platform/MIMETypeFromURL.h"
65 #include "core/platform/MIMETypeRegistry.h" 65 #include "core/platform/MIMETypeRegistry.h"
66 #include "core/platform/NotImplemented.h" 66 #include "core/platform/NotImplemented.h"
67 #include "core/platform/graphics/InbandTextTrackPrivate.h" 67 #include "core/platform/graphics/InbandTextTrackPrivate.h"
68 #include "core/platform/graphics/MediaPlayer.h" 68 #include "core/platform/graphics/MediaPlayer.h"
69 #include "core/rendering/RenderLayerCompositor.h"
69 #include "core/rendering/RenderVideo.h" 70 #include "core/rendering/RenderVideo.h"
71 #include "core/rendering/RenderView.h"
70 #include "modules/mediastream/MediaStreamRegistry.h" 72 #include "modules/mediastream/MediaStreamRegistry.h"
71 #include "public/platform/Platform.h" 73 #include "public/platform/Platform.h"
72 #include "weborigin/SecurityOrigin.h" 74 #include "weborigin/SecurityOrigin.h"
73 #include "wtf/CurrentTime.h" 75 #include "wtf/CurrentTime.h"
74 #include "wtf/MathExtras.h" 76 #include "wtf/MathExtras.h"
75 #include "wtf/NonCopyingSort.h" 77 #include "wtf/NonCopyingSort.h"
76 #include "wtf/Uint8Array.h" 78 #include "wtf/Uint8Array.h"
77 #include "wtf/text/CString.h" 79 #include "wtf/text/CString.h"
78 #include <limits> 80 #include <limits>
79 81
(...skipping 3474 matching lines...) Expand 10 before | Expand all | Expand 10 after
3554 LOG(Media, "HTMLMediaElement::exitFullscreen"); 3556 LOG(Media, "HTMLMediaElement::exitFullscreen");
3555 3557
3556 if (document().settings() && document().settings()->fullScreenEnabled() && i sFullscreen()) 3558 if (document().settings() && document().settings()->fullScreenEnabled() && i sFullscreen())
3557 FullscreenElementStack::from(&document())->webkitCancelFullScreen(); 3559 FullscreenElementStack::from(&document())->webkitCancelFullScreen();
3558 } 3560 }
3559 3561
3560 void HTMLMediaElement::didBecomeFullscreenElement() 3562 void HTMLMediaElement::didBecomeFullscreenElement()
3561 { 3563 {
3562 if (hasMediaControls()) 3564 if (hasMediaControls())
3563 mediaControls()->enteredFullscreen(); 3565 mediaControls()->enteredFullscreen();
3566 if (RuntimeEnabledFeatures::overlayFullscreenVideoEnabled() && isVideo())
3567 document().renderView()->compositor()->setCompositingLayersNeedRebuild(t rue);
3564 } 3568 }
3565 3569
3566 void HTMLMediaElement::willStopBeingFullscreenElement() 3570 void HTMLMediaElement::willStopBeingFullscreenElement()
3567 { 3571 {
3568 if (hasMediaControls()) 3572 if (hasMediaControls())
3569 mediaControls()->exitedFullscreen(); 3573 mediaControls()->exitedFullscreen();
3574 if (RuntimeEnabledFeatures::overlayFullscreenVideoEnabled() && isVideo())
3575 document().renderView()->compositor()->setCompositingLayersNeedRebuild(t rue);
3570 } 3576 }
3571 3577
3572 WebKit::WebLayer* HTMLMediaElement::platformLayer() const 3578 WebKit::WebLayer* HTMLMediaElement::platformLayer() const
3573 { 3579 {
3574 return m_player ? m_player->platformLayer() : 0; 3580 return m_player ? m_player->platformLayer() : 0;
3575 } 3581 }
3576 3582
3577 bool HTMLMediaElement::hasClosedCaptions() const 3583 bool HTMLMediaElement::hasClosedCaptions() const
3578 { 3584 {
3579 if (RuntimeEnabledFeatures::videoTrackEnabled() && m_textTracks) { 3585 if (RuntimeEnabledFeatures::videoTrackEnabled() && m_textTracks) {
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after
3987 { 3993 {
3988 m_restrictions = NoRestrictions; 3994 m_restrictions = NoRestrictions;
3989 } 3995 }
3990 3996
3991 void HTMLMediaElement::mediaPlayerScheduleLayerUpdate() 3997 void HTMLMediaElement::mediaPlayerScheduleLayerUpdate()
3992 { 3998 {
3993 scheduleLayerUpdate(); 3999 scheduleLayerUpdate();
3994 } 4000 }
3995 4001
3996 } 4002 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698