Bug 17828 - WebKit is rendering the video even in a display:none iframe
Summary: WebKit is rendering the video even in a display:none iframe
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Plug-ins (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Windows XP
: P2 Normal
Assignee: Nobody
URL: http://www.oldeenglish.org/dvd/
Keywords: HasReduction
Depends on:
Blocks:
 
Reported: 2008-03-13 10:39 PDT by jasneet
Modified: 2016-09-26 09:28 PDT (History)
6 users (show)

See Also:


Attachments
reduction (871 bytes, text/html)
2008-03-13 10:41 PDT, jasneet
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description jasneet 2008-03-13 10:39:17 PDT
I Steps:
Go to 
http://www.oldeenglish.org/dvd/

II Issue:
In Safari: On clicking the video links, the videos are shown in such a way that all the videos are playing in one player.It starts playing the audio content of all the videos on the page concurrently. It should start playing along with the video only when the video link is clicked.

FF: On click of the video link, it closes the previous video that's open(if any) and opens the new one that's clicked. So only one video is played at a time and all the others are closed.

IE: On click of the video link, it opens the video without closing or pausing the previous video that's playing(if any). So, any number of videos can be running at a time. To change the viewing video, click on the link of that video.

III Conclusion:
The problem is that WebKit is rendering the video even though it's in a display:none iframe. If you put the video in a display:none div, then it doesn't autoplay. Things that are display:none should not render. This includes iframes.
Therefore WebKit should not render the contents of display:none iframes. This breaks sites that load videos in display:none iframes.

IV Other browsers:
IE7: ok
FF2: ok
Opera: not ok

V Nightly tested: 30881
Comment 1 jasneet 2008-03-13 10:41:58 PDT
Created attachment 19732 [details]
reduction
Comment 2 mitz 2008-03-13 15:27:29 PDT
On Mac OS X, the non-displaying iframes do not render video (they do play audio, which is fine, I think).
Comment 3 Eric Seidel (no email) 2011-03-22 17:00:44 PDT
Is this still an issue?  I thought that display:none plugins should load and play normally per HTML5?  Or am I remembering incorrectly?
Comment 4 Eric Seidel (no email) 2011-12-09 14:25:20 PST
The reduction doesn't work, but the original site still has trouble.  This is a spec question I think.
Comment 5 Eric Seidel (no email) 2011-12-09 14:55:03 PST
I was wrong.  This bug is not about <video> but rather a quicktime movie inside an <object> tag:

	<OBJECT classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" 
               codebase="http://www.apple.com/qtactivex/qtplugin.cab" 
               width="480" height="375" 
               id="movie1" > 
        <PARAM name="src" value="OldeEnglish.org_-_Breaking_News.mov"> 
        <PARAM name="autoplay" value="true"> 
        <EMBED width="480" height="375" 
               src="OldeEnglish.org_-_Breaking_News.mov" 
               TYPE="video/quicktime"
               PLUGINSPAGE="www.apple.com/quicktime/download"
               name="movie1" 
               enablejavascript="true"
			   autoplay="true"> 
        </EMBED> 
	</OBJECT>

view-source:http://www.oldeenglish.org/dvd/iframe1.html

The site is setting the various iframes to display: none in the main page:

		iframe {
			border: 0px;
			display: none;
			background-color: transparent;
			padding: 0px;
		}

		<div id="stage">
			<iframe id="frame1" src="iframe1.html" width="500" height="400" ALLOWTRANSPARENCY="true"></iframe>
			<iframe id="frame2" src="iframe2.html" width="500" height="400" ALLOWTRANSPARENCY="true"></iframe>
			<iframe id="frame3" src="iframe3.html" width="500" height="400" ALLOWTRANSPARENCY="true"></iframe>
			<iframe id="frame4" src="iframe4.html" width="500" height="400" ALLOWTRANSPARENCY="true"></iframe>
			<iframe id="frame5" src="iframe5.html" width="500" height="400" ALLOWTRANSPARENCY="true"></iframe>
		</div>

It appears that other browsers do not play video in an <object> tag when the document containing that <object> tag is not rendered.