Closed Bug 1044356 Opened 10 years ago Closed 10 years ago

[dolphin][flame][Browser] navigation panel does not appear for some specific 3gp video

Categories

(Firefox OS Graveyard :: Gaia::Browser, defect)

ARM
Gonk (Firefox OS)
defect
Not set
major

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: defang.zhang, Assigned: vliu)

References

Details

(Whiteboard: [sprd 330404])

Attachments

(1 file)

DEFECT DESCRIPTION: not pause button when click 3gp video in web page Steps to reproduce: ---------------------------------------------------- 1.open 116.228.149.59 website,select WAP Test->WAP Download Test->Video 2.click qcif_video.3gp,play video,click video,find pause button 3.click qsub-qcif_video.3gp,play video,click video,not find pause button Actual result: --------------------------------------- 1.click it after open qcif_video.3gp has pause button 2.click it after open qcif_video.3gp has not pause button Expected result: --------------------------------------- click them after open qcif_video.3gp and qsub-qcif_video.3gp have pause button Additional info: -------------------------------------- Reproduce rate: 5/5
STR: 1. go to http://116.228.149.59/WAP/Download/video.html 2. Tap on qsub-qcif_video.3gp --> You will notice there is no navigation panel for this video.
Summary: [dolphin][Browser] not pause button when click 3gp video in web page → [dolphin][Browser] navigation panel does not appear for some specific 3gp video
Flame V1.4 and Buri v1.3 also has this problem. BTW, I also noticed that for video file qcif_video.3gp, the navigation panel is not in the middle.
Summary: [dolphin][Browser] navigation panel does not appear for some specific 3gp video → [dolphin][flame][Browser] navigation panel does not appear for some specific 3gp video
Whiteboard: [sprd 330404]
Hi Chens, Do you have bandwidth to take a look? Thanks.
Flags: needinfo?(shchen)
This issue also reproduce on flame master, it could be the video resolution is lower than a certain level, in this case qsub-qcif_video.3gp is 128x96, thus may not able to draw control panel on it. Also the control panel is not handle in gaia, this may relate to video element rendering in gecko.
Flags: needinfo?(shchen)
Hi Vincent: Please study it. Thanks!
Assignee: ttsai → vliu
(In reply to Sherman Chen [:chens] from comment #4) > This issue also reproduce on flame master, it could be the video resolution > is lower than a certain level, in this case qsub-qcif_video.3gp is 128x96, > thus may not able to draw control panel on it. > Also the control panel is not handle in gaia, this may relate to video > element rendering in gecko. Hi Peter, Does Gecko have this limitation for rendering?
Flags: needinfo?(pchang)
As we discussed, Vincent will check the status of VideoControl inside nsVideoFrame.cpp. [1]http://dxr.mozilla.org/mozilla-central/source/layout/generic/nsVideoFrame.cpp?from=nsVideoFrame.cpp&case=true#116
Flags: needinfo?(pchang)
Here I want to have some updates for what I looked into. 1. From the suggestions in Comment 7, I saw an important comment to clarify the term. // Reflow the child frames. We may have up to two, an image frame // which is the poster, and a box frame, which is the video controls. This information linked to the code in layout/xul/nsBoxFrame.cpp to actually observe the behavior for video controls. 2. In nsBoxFrame.cpp, two methods to control insert/remove this box frame. [1]: http://dxr.mozilla.org/mozilla-central/source/layout/xul/nsBoxFrame.cpp?from=nsBoxFrame::InsertFrames&case=true#1026 [2]: http://dxr.mozilla.org/mozilla-central/source/layout/xul/nsBoxFrame.cpp?from=nsBoxFrame::InsertFrames&case=true#1002 The point is when I played qsub-qcif_video.3gp in Browser, tapping some areas in the edge of poster frame the behavior I could still see insert/remove for box frame. It means this box frame was append into this video tag but not drawing on display for some reason.
Attached file frame-tree-dump_.txt (deleted) —
Tried to do frame tree dump to narrow down the issue. From the log info, vbox in videocontrols frame seems got zero width/height. I still tried to narrow down what code implementation cause this. I/Gecko ( 2881): Box(videocontrols)(-1)@b1892a28 {0,0,7680,5760} [state=0002100080800208] [content=b2c18650] [sc=b0c9ae48]< I/Gecko ( 2881): Stack(stack)(-1)@b1892cc0 {0,0,7680,5760} [state=0002100080c00000] [content=b2c18790] [sc=b2c65d40]< I/Gecko ( 2881): Box(vbox)(1)@b2c650b8 {0,0,7680,5760} [state=0002100080600200] [content=b2c18a60] [sc=b0ccc778]< I/Gecko ( 2881): Box(vbox)(2)@b0c9ac70 {3840,4560,0,0} [state=000b100080800200] [content=b2c18ba0] [sc=b13a79c8]< I/Gecko ( 2881): Box(hbox)(0)@b13a7200 next=b13a81c0 {0,0,0,0} [state=000b100080c00200] [content=b2c18bf0] [sc=b0c9bda0]<
(In reply to Vincent Liu[:vliu] from comment #9) > Created attachment 8498789 [details] > frame-tree-dump_.txt > > Tried to do frame tree dump to narrow down the issue. From the log info, > vbox in videocontrols frame seems got zero width/height. I still tried to > narrow down what code implementation cause this. > vbox got zero width/height by calling IsCollapsed() and found mVisible set to NS_STYLE_VISIBILITY_COLLAPSE. http://dxr.mozilla.org/mozilla-central/source/layout/xul/nsBoxFrame.cpp#753 I would try to figure out where to set it for next move.
From tracking the issue, the root cause has been found. http://dxr.mozilla.org/mozilla-central/source/toolkit/content/widgets/videocontrols.xml#1438 videocontrols binds to xul from css and add event listener for listening 'adjustControlSize'. When this event is received, set the attribute 'size' to "hidden" if videoHeight is smaller than minHeightForControlBar. I will close this bug since this is design feature which which you can track it by Bug 462117. Reopen it if any one has concern. Thanks
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
(In reply to Vincent Liu[:vliu] from comment #11) > From tracking the issue, the root cause has been found. > > http://dxr.mozilla.org/mozilla-central/source/toolkit/content/widgets/ > videocontrols.xml#1438 > > videocontrols binds to xul from css and add event listener for listening > 'adjustControlSize'. When this event is received, set the attribute 'size' > to "hidden" if videoHeight is smaller than minHeightForControlBar. I will > close this bug since this is design feature which which you can track it by > Bug 462117. Reopen it if any one has concern. Thanks Hi vincent: Now we need to confirm what is the value of ‘minHeightForControlBar’, It is calculated or a fixed value? Please tell us which value is lower than the resolution of the video, we will hide the controlbar. Thanks a lot!
Flags: needinfo?(vliu)
The logic to deicde size attribute hidden or not is in the below link. http://dxr.mozilla.org/mozilla-central/source/toolkit/content/widgets/videocontrols.xml#1439 You can observe minHeightForControlBar, minWidthOnlyPlayPause and minWidthAllControls to know the values.
Flags: needinfo?(vliu)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: