Bug 149032 - [GTK] Layout Test media/video-volume-slider.html is flaky
Summary: [GTK] Layout Test media/video-volume-slider.html is flaky
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: WebKit Nightly Build
Hardware: PC Linux
: P2 Normal
Assignee: ChangSeok Oh
URL:
Keywords:
Depends on: 145639 147933
Blocks: 149396
  Show dependency treegraph
 
Reported: 2015-09-09 23:40 PDT by ChangSeok Oh
Modified: 2015-09-21 01:00 PDT (History)
5 users (show)

See Also:


Attachments
Patch (2.49 KB, patch)
2015-09-09 23:49 PDT, ChangSeok Oh
no flags Details | Formatted Diff | Diff
Patch (1.48 KB, patch)
2015-09-13 22:38 PDT, ChangSeok Oh
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description ChangSeok Oh 2015-09-09 23:40:18 PDT
SSIA
Comment 1 ChangSeok Oh 2015-09-09 23:49:28 PDT
Created attachment 260913 [details]
Patch
Comment 2 Xabier Rodríguez Calvar 2015-09-10 01:41:38 PDT
Comment on attachment 260913 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=260913&action=review

Before doing any changes and any landing, I would way for bug 147933 as it will probably change the way events are handled. It might happen that bug goes away by itself without complicating the test. Btw, I checked and pixel tests are passing.

Summing up, apart from the typos and moving around the timeout (not compulsory), LGTM.

> LayoutTests/ChangeLog:9
> +        sometims passes and sometimes not. We can fix this by making volumechange event always

typo with sometims

> LayoutTests/media/video-volume-slider.html:38
> +            setTimeout(function() { video.volume = 0.7; }, 0);

I guess you can move the timeout to the same place it was setting the volume before, because the task should be either way delayed.
Comment 3 ChangSeok Oh 2015-09-10 02:53:08 PDT
Comment on attachment 260913 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=260913&action=review

> Before doing any changes and any landing, I would way for bug 147933 as it will probably change the way events are handled. It might happen that bug goes away by itself without complicating the test. Btw, I checked and pixel tests are passing.
Good to know. Thanks for the pointer!

>> LayoutTests/ChangeLog:9
>> +        sometims passes and sometimes not. We can fix this by making volumechange event always
> 
> typo with sometims

Oops.

>> LayoutTests/media/video-volume-slider.html:38
>> +            setTimeout(function() { video.volume = 0.7; }, 0);
> 
> I guess you can move the timeout to the same place it was setting the volume before, because the task should be either way delayed.

Isn't it more natural to understand that (triggering mouse event for volume slider) -> (triggering volumechange event) rather than the inverse? And that order is what we expect to happen from the events. How does it sound? =)
Comment 4 Xabier Rodríguez Calvar 2015-09-10 03:07:54 PDT
(In reply to comment #3)
> >> LayoutTests/media/video-volume-slider.html:38
> >> +            setTimeout(function() { video.volume = 0.7; }, 0);
> > 
> > I guess you can move the timeout to the same place it was setting the volume before, because the task should be either way delayed.
> 
> Isn't it more natural to understand that (triggering mouse event for volume
> slider) -> (triggering volumechange event) rather than the inverse? And that
> order is what we expect to happen from the events. How does it sound? =)

Yeah, it sounds better. Then my question is if we need the timeout, because I guess the point of setting the timeout is delaying setting the volume, but I guess it should work if we just set the volume after setting the volumechange handler.
Comment 5 ChangSeok Oh 2015-09-13 22:37:22 PDT
(In reply to comment #4)
> (In reply to comment #3)
> > >> LayoutTests/media/video-volume-slider.html:38
> > >> +            setTimeout(function() { video.volume = 0.7; }, 0);
> > > 
> > > I guess you can move the timeout to the same place it was setting the volume before, because the task should be either way delayed.
> > 
> > Isn't it more natural to understand that (triggering mouse event for volume
> > slider) -> (triggering volumechange event) rather than the inverse? And that
> > order is what we expect to happen from the events. How does it sound? =)
> 
> Yeah, it sounds better. Then my question is if we need the timeout, because
> I guess the point of setting the timeout is delaying setting the volume, but
> I guess it should work if we just set the volume after setting the
> volumechange handler.

It is odd. After rebasing source, the race issue seems gone. :/
Just removing the test from TestExpectations is enough now.
Comment 6 ChangSeok Oh 2015-09-13 22:38:34 PDT
Created attachment 261103 [details]
Patch
Comment 7 Philippe Normand 2015-09-14 00:01:08 PDT
Comment on attachment 261103 [details]
Patch

This type of change usually doesn't require a review
Comment 8 WebKit Commit Bot 2015-09-14 00:47:55 PDT
Comment on attachment 261103 [details]
Patch

Clearing flags on attachment: 261103

Committed r189684: <http://trac.webkit.org/changeset/189684>
Comment 9 WebKit Commit Bot 2015-09-14 00:47:59 PDT
All reviewed patches have been landed.  Closing bug.