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

Issue 8496044: Repaint video controls when buffering during pause. (Closed)

Created:
9 years, 1 month ago by DaleCurtis
Modified:
9 years ago
CC:
chromium-reviews, hclam+watch_chromium.org, ddorwin+watch_chromium.org, fischman+watch_chromium.org, acolwell+watch_chromium.org, annacc+watch_chromium.org, darin-cc_chromium.org, ajwong+watch_chromium.org, scherkus (not reviewing), ihf+watch_chromium.org
Visibility:
Public.

Description

Pipes support for a new bufferringProgressed() method on MediaControls elements. HTMLMediaElement runs a timer which notifies the controls via the new method whenever new data has been buffered. I've added a new layout test to verify this behavior by checking for repaints between 'progress' events. BUG=97720 TEST=Loaded video, paused, watched buffer progress. New layout test, existing layout tests.

Patch Set 1 #

Total comments: 6

Patch Set 2 : Fix nits. #

Patch Set 3 : Fix v2. Rely on HTMLMediaElement timer. #

Total comments: 4

Patch Set 4 : Fix nits. #

Patch Set 5 : Repaint video controls when buffering during pause. #

Patch Set 6 : Pipe bufferingProgressed() method. #

Total comments: 8

Patch Set 7 : Added layout test. Fixed nits. #

Total comments: 7

Patch Set 8 : Nits, drop whitespace. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+65 lines, -0 lines) Patch
A LayoutTests/http/tests/media/video-buffering-repaints-controls.html View 1 2 3 4 5 6 7 1 chunk +36 lines, -0 lines 0 comments Download
M Source/WebCore/html/HTMLMediaElement.cpp View 1 2 3 4 5 6 7 3 chunks +7 lines, -0 lines 0 comments Download
M Source/WebCore/html/shadow/MediaControlRootElement.h View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M Source/WebCore/html/shadow/MediaControlRootElement.cpp View 1 2 3 4 5 6 7 1 chunk +8 lines, -0 lines 0 comments Download
M Source/WebCore/html/shadow/MediaControlRootElementChromium.h View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp View 1 2 3 4 5 6 1 chunk +8 lines, -0 lines 0 comments Download
M Source/WebCore/html/shadow/MediaControls.h View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 37 (0 generated)
DaleCurtis
PTAL. I may have over thought the problem trying to keep the NetworkEvent rate as ...
9 years, 1 month ago (2011-11-09 01:47:17 UTC) #1
scherkus (not reviewing)
+vrk who knows this better main question for vrk is: is it correct to keep ...
9 years, 1 month ago (2011-11-09 03:45:27 UTC) #2
scherkus (not reviewing)
one more comment http://codereview.chromium.org/8496044/diff/1/webkit/glue/webmediaplayer_impl.cc File webkit/glue/webmediaplayer_impl.cc (right): http://codereview.chromium.org/8496044/diff/1/webkit/glue/webmediaplayer_impl.cc#newcode807 webkit/glue/webmediaplayer_impl.cc:807: Repaint(); also I wonder whether a ...
9 years, 1 month ago (2011-11-09 03:47:32 UTC) #3
DaleCurtis
http://codereview.chromium.org/8496044/diff/1/webkit/glue/media/buffered_data_source.cc File webkit/glue/media/buffered_data_source.cc (right): http://codereview.chromium.org/8496044/diff/1/webkit/glue/media/buffered_data_source.cc#newcode647 webkit/glue/media/buffered_data_source.cc:647: } else if (media_is_paused_ && host()) On 2011/11/09 03:45:28, ...
9 years, 1 month ago (2011-11-09 18:30:01 UTC) #4
vrk (LEFT CHROMIUM)
On 2011/11/09 03:45:27, scherkus wrote: > +vrk who knows this better > > main question ...
9 years, 1 month ago (2011-11-09 23:42:13 UTC) #5
DaleCurtis
The timer solution seems opaque, I'd prefer the Repaint() had a corresponding fixed event point ...
9 years, 1 month ago (2011-11-09 23:54:19 UTC) #6
vrk (LEFT CHROMIUM)
On 2011/11/09 23:54:19, DaleCurtis wrote: > The timer solution seems opaque, I'd prefer the Repaint() ...
9 years, 1 month ago (2011-11-10 00:33:28 UTC) #7
DaleCurtis
1. I prefer it because doing otherwise is diverging from the event driven system which ...
9 years, 1 month ago (2011-11-10 02:02:55 UTC) #8
vrk (LEFT CHROMIUM)
Your saying "threaded" approach makes me think there may be a misunderstanding about the suggestion ...
9 years, 1 month ago (2011-11-10 04:19:57 UTC) #9
vrk (LEFT CHROMIUM)
> Actually, WebMediaPlayerProxy is proxying things from other threads *to* > WebMediaPlayerImpl! Err crap, I ...
9 years, 1 month ago (2011-11-10 04:27:02 UTC) #10
DaleCurtis
Ah, yes, definitely a misunderstanding on my part. My apologies! When you said timer I ...
9 years, 1 month ago (2011-11-10 06:45:37 UTC) #11
scherkus (not reviewing)
A timer seems screwy but work. Did we rule out the "have webkit notice a ...
9 years, 1 month ago (2011-11-10 23:35:33 UTC) #12
vrk (LEFT CHROMIUM)
On 2011/11/10 23:35:33, scherkus wrote: > A timer seems screwy but work. > > Did ...
9 years, 1 month ago (2011-11-10 23:58:10 UTC) #13
DaleCurtis
The issue is not fixed in sjl's patch. On 2011/11/10 23:58:10, Victoria Kirst wrote: > ...
9 years, 1 month ago (2011-11-11 00:33:59 UTC) #14
DaleCurtis
So using Victoria's pointers, I followed this call all the way back to WebMediaPlayerImpl::setVisible(bool). However ...
9 years, 1 month ago (2011-11-11 19:23:49 UTC) #15
DaleCurtis
I was doing something wrong apparently. I retried my new fix today and it worked ...
9 years, 1 month ago (2011-11-16 00:40:32 UTC) #16
scherkus (not reviewing)
http://codereview.chromium.org/8496044/diff/14001/webkit/glue/webmediaplayer_impl.cc File webkit/glue/webmediaplayer_impl.cc (right): http://codereview.chromium.org/8496044/diff/14001/webkit/glue/webmediaplayer_impl.cc#newcode399 webkit/glue/webmediaplayer_impl.cc:399: // RenderVideo->updateFromElement() which ends in a call to here. ...
9 years, 1 month ago (2011-11-16 02:09:23 UTC) #17
DaleCurtis
http://codereview.chromium.org/8496044/diff/14001/webkit/glue/webmediaplayer_impl.cc File webkit/glue/webmediaplayer_impl.cc (right): http://codereview.chromium.org/8496044/diff/14001/webkit/glue/webmediaplayer_impl.cc#newcode399 webkit/glue/webmediaplayer_impl.cc:399: // RenderVideo->updateFromElement() which ends in a call to here. ...
9 years, 1 month ago (2011-11-16 02:31:48 UTC) #18
scherkus (not reviewing)
LGTM
9 years, 1 month ago (2011-11-16 02:33:41 UTC) #19
scherkus (not reviewing)
hold the phone -- before committing you should: a) Update CL description to match latest ...
9 years, 1 month ago (2011-11-16 03:10:05 UTC) #20
DaleCurtis
I've run into a strange problem, my fixes work via NX but not locally. The ...
9 years, 1 month ago (2011-11-18 01:41:01 UTC) #21
DaleCurtis
After writing this I found a solution which works, instead of calling m_mediaControls->renderer()->updateFromElement() during updateStatusDisplay() ...
9 years, 1 month ago (2011-11-18 01:58:35 UTC) #22
DaleCurtis
PTAL. CL updated to show what I did. Although these files wouldn't be committed in ...
9 years, 1 month ago (2011-11-18 02:17:43 UTC) #23
DaleCurtis
Ping. On 2011/11/18 02:17:43, DaleCurtis wrote: > PTAL. CL updated to show what I did. ...
9 years, 1 month ago (2011-11-22 20:22:09 UTC) #24
vrk (LEFT CHROMIUM)
Hmm, unfortunately, it looks like "Status Display" is a reference to a particular control element, ...
9 years, 1 month ago (2011-11-22 22:39:03 UTC) #25
vrk (LEFT CHROMIUM)
On 2011/11/22 22:39:03, Victoria Kirst wrote: > But looks like you can call mediaControls()->playbackprogressed() instead? ...
9 years, 1 month ago (2011-11-22 22:42:59 UTC) #26
DaleCurtis
Sure that would work as well. Is this the right approach in general though? 1. ...
9 years, 1 month ago (2011-11-22 22:46:09 UTC) #27
DaleCurtis
Piping a bufferingProgressed() method seems like the right idea. However, it also sounds like something ...
9 years, 1 month ago (2011-11-22 22:57:48 UTC) #28
vrk (LEFT CHROMIUM)
On 2011/11/22 22:46:09, DaleCurtis wrote: > Sure that would work as well. Is this the ...
9 years, 1 month ago (2011-11-22 23:23:03 UTC) #29
scherkus (not reviewing)
cool! seems reasonable -- but agree w/ vrk we'll have to take this patch to ...
9 years, 1 month ago (2011-11-23 01:41:09 UTC) #30
DaleCurtis
PTAL for unofficial LGTM. My editor fixed a lot of trailing white space... if this ...
9 years, 1 month ago (2011-11-23 02:12:03 UTC) #31
scherkus (not reviewing)
http://codereview.chromium.org/8496044/diff/34001/Source/WebCore/html/shadow/MediaControlRootElement.cpp File Source/WebCore/html/shadow/MediaControlRootElement.cpp (right): http://codereview.chromium.org/8496044/diff/34001/Source/WebCore/html/shadow/MediaControlRootElement.cpp#newcode540 Source/WebCore/html/shadow/MediaControlRootElement.cpp:540: m_timeline->setPosition(m_mediaElement->currentTime()); wk uses 4 space indents http://codereview.chromium.org/8496044/diff/34001/Source/WebCore/html/shadow/MediaControlRootElement.cpp#newcode540 Source/WebCore/html/shadow/MediaControlRootElement.cpp:540: m_timeline->setPosition(m_mediaElement->currentTime()); ...
9 years, 1 month ago (2011-11-23 02:43:21 UTC) #32
DaleCurtis
Added a layout test. Although for some reason it didn't generated the -expected.txt in the ...
9 years, 1 month ago (2011-11-24 00:03:23 UTC) #33
scherkus (not reviewing)
http://codereview.chromium.org/8496044/diff/37001/LayoutTests/http/tests/media/video-buffering-repaints-controls-expected.txt File LayoutTests/http/tests/media/video-buffering-repaints-controls-expected.txt (right): http://codereview.chromium.org/8496044/diff/37001/LayoutTests/http/tests/media/video-buffering-repaints-controls-expected.txt#newcode3 LayoutTests/http/tests/media/video-buffering-repaints-controls-expected.txt:3: layer at (0,0) size 800x600 this is likely a ...
9 years ago (2011-11-28 22:21:19 UTC) #34
DaleCurtis
http://codereview.chromium.org/8496044/diff/37001/LayoutTests/http/tests/media/video-buffering-repaints-controls-expected.txt File LayoutTests/http/tests/media/video-buffering-repaints-controls-expected.txt (right): http://codereview.chromium.org/8496044/diff/37001/LayoutTests/http/tests/media/video-buffering-repaints-controls-expected.txt#newcode3 LayoutTests/http/tests/media/video-buffering-repaints-controls-expected.txt:3: layer at (0,0) size 800x600 Ah, so it didn't ...
9 years ago (2011-11-28 23:49:39 UTC) #35
scherkus (not reviewing)
http://codereview.chromium.org/8496044/diff/37001/LayoutTests/http/tests/media/video-buffering-repaints-controls-expected.txt File LayoutTests/http/tests/media/video-buffering-repaints-controls-expected.txt (right): http://codereview.chromium.org/8496044/diff/37001/LayoutTests/http/tests/media/video-buffering-repaints-controls-expected.txt#newcode3 LayoutTests/http/tests/media/video-buffering-repaints-controls-expected.txt:3: layer at (0,0) size 800x600 My memory is actually ...
9 years ago (2011-11-29 02:02:33 UTC) #36
DaleCurtis
9 years ago (2011-12-14 01:12:57 UTC) #37
On 2011/11/29 02:02:33, scherkus wrote:
>
http://codereview.chromium.org/8496044/diff/37001/LayoutTests/http/tests/medi...
> File
LayoutTests/http/tests/media/video-buffering-repaints-controls-expected.txt
> (right):
> 
>
http://codereview.chromium.org/8496044/diff/37001/LayoutTests/http/tests/medi...
> LayoutTests/http/tests/media/video-buffering-repaints-controls-expected.txt:3:
> layer at (0,0) size 800x600
> My memory is actually a little foggy on the best way to generate results for
new
> layout tests, especially for image-based tests :|
> 
> Might have to get this answered on a webkit bug thread!
> 
> On 2011/11/28 23:49:40, DaleCurtis wrote:
> > Ah, so it didn't create the non-platform specific version because there
isn't
> > one? Is it okay to check files I've generated locally into the platform
> specific
> > dirs? I thought the bots generated the files and then I included those. 
> > 
> > On 2011/11/28 22:21:19, scherkus wrote:
> > > this is likely a chromium-specific expectation, in which case it'll have
to
> > get
> > > placed under one of the LayoutTests/platform/chromium* directories
> >

Closing now that WebKit bug is open,
https://bugs.webkit.org/show_bug.cgi?id=73957

Powered by Google App Engine
This is Rietveld 408576698