Created attachment 265526[details]
Archive of layout-test-results from ews116 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews116 Port: mac-yosemite Platform: Mac OS X 10.10.5
Created attachment 265531[details]
Archive of layout-test-results from ews104 for mac-mavericks-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews104 Port: mac-mavericks-wk2 Platform: Mac OS X 10.9.5
Created attachment 265532[details]
Archive of layout-test-results from ews102 for mac-mavericks
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews102 Port: mac-mavericks Platform: Mac OS X 10.9.5
Comment on attachment 265521[details]
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=265521&action=review
I didn't check why the tests are failing.
> LayoutTests/media/controls/inline-elements-dropoff-order.html:65
> + testsFinished = function() {
> + runAirPlayTests();
> + };
Do you declare testsFinished as a global variable somewhere? This works as is, but might be nicer if we make it a global var.
> LayoutTests/media/controls/inline-elements-dropoff-order.html:112
> + internals.setMockMediaPlaybackTargetPickerState("Sleepy TV", "DeviceAvailable");
Have we standardized on Sleepy TV? :)
(In reply to comment #9)
> Comment on attachment 265521[details]
> Patch
>
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=265521&action=review
>
> I didn't check why the tests are failing.
Older Mac OSes don't support wireless playback.
>
> > LayoutTests/media/controls/inline-elements-dropoff-order.html:65
> > + testsFinished = function() {
> > + runAirPlayTests();
> > + };
>
> Do you declare testsFinished as a global variable somewhere? This works as
> is, but might be nicer if we make it a global var.
>
> > LayoutTests/media/controls/inline-elements-dropoff-order.html:112
> > + internals.setMockMediaPlaybackTargetPickerState("Sleepy TV", "DeviceAvailable");
>
> Have we standardized on Sleepy TV? :)
Why not? :) I'll change it to something more professional
(In reply to comment #9)
> Comment on attachment 265521[details]
> Patch> > LayoutTests/media/controls/inline-elements-dropoff-order.html:65
> > + testsFinished = function() {
> > + runAirPlayTests();
> > + };
>
> Do you declare testsFinished as a global variable somewhere? This works as
> is, but might be nicer if we make it a global var.
I'll pull the global vars out and declare them for clarity.
Created attachment 265554[details]
Archive of layout-test-results from ews101 for mac-mavericks
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101 Port: mac-mavericks Platform: Mac OS X 10.9.5
Created attachment 265555[details]
Archive of layout-test-results from ews106 for mac-mavericks-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106 Port: mac-mavericks-wk2 Platform: Mac OS X 10.9.5
Created attachment 265556[details]
Archive of layout-test-results from ews116 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews116 Port: mac-yosemite Platform: Mac OS X 10.10.5
Comment on attachment 265557[details]
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=265557&action=review> LayoutTests/media/controls/inline-elements-dropoff-order.html:21
> + if (supportsWirelessTargets)
> + internals.setMockMediaPlaybackTargetPickerEnabled(false);
Won't this register the native platform picker, and therefore break your test if there are any real ATVs within range of the machine running the test?
It seems like you might want to change Internals::setMockMediaPlaybackTargetPickerState so you can leave the mock picker registered but configure it to not advertise any devices. For example:
if (equalIgnoringCase(deviceState, "DeviceAvailable"))
state = MediaPlaybackTargetContext::OutputDeviceAvailable;
else if (equalIgnoringCase(deviceState, "DeviceNotAvailable"))
state = MediaPlaybackTargetContext:: Unavailable;
else {
ec = INVALID_ACCESS_ERR;
return;
}
and then:
internals.setMockMediaPlaybackTargetPickerState("Sleepy TV", "DeviceNotAvailable");
Comment on attachment 265557[details]
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=265557&action=review>> LayoutTests/media/controls/inline-elements-dropoff-order.html:21
>> + internals.setMockMediaPlaybackTargetPickerEnabled(false);
>
> Won't this register the native platform picker, and therefore break your test if there are any real ATVs within range of the machine running the test?
>
> It seems like you might want to change Internals::setMockMediaPlaybackTargetPickerState so you can leave the mock picker registered but configure it to not advertise any devices. For example:
>
> if (equalIgnoringCase(deviceState, "DeviceAvailable"))
> state = MediaPlaybackTargetContext::OutputDeviceAvailable;
> else if (equalIgnoringCase(deviceState, "DeviceNotAvailable"))
> state = MediaPlaybackTargetContext:: Unavailable;
> else {
> ec = INVALID_ACCESS_ERR;
> return;
> }
>
> and then:
>
> internals.setMockMediaPlaybackTargetPickerState("Sleepy TV", "DeviceNotAvailable");
I thought that being unavailable was the default state.
However, I see the value in being explicit, so I'll add this.
Comment on attachment 265624[details]
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=265624&action=review> LayoutTests/media/controls/inline-elements-dropoff-order.html:23
> + if (supportsWirelessTargets) {
> + internals.setMockMediaPlaybackTargetPickerEnabled(false);
> + internals.setMockMediaPlaybackTargetPickerState("Wireless playback target", "DeviceNotAvailable");
> + }
If you check out Internals::Internals() you'll see this:
#if ENABLE(WIRELESS_PLAYBACK_TARGET)
if (document && document->page())
document->page()->setMockMediaPlaybackTargetPickerEnabled(true);
#endif
... which means the mock picker is always enabled inside test runs.
But this is actually what we want in this case - setting it to false will mean we'll get the real platform picker.
So I think you can just test for internals, and then setMockMediaPlaybackTargetPickerState("Wireless playback target", "DeviceNotAvailable");
I think that should mean the button will exist, but doesn't have anything to actually pick from. (Since we never select the target, I guess we didn't really need the addition of the DeviceNotAvailable state, but that will be nice to have in the future anyway)
(In reply to comment #27)
> Comment on attachment 265624[details]
> Patch
>
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=265624&action=review
>
> > LayoutTests/media/controls/inline-elements-dropoff-order.html:23
> > + if (supportsWirelessTargets) {
> > + internals.setMockMediaPlaybackTargetPickerEnabled(false);
> > + internals.setMockMediaPlaybackTargetPickerState("Wireless playback target", "DeviceNotAvailable");
> > + }
>
> If you check out Internals::Internals() you'll see this:
>
> #if ENABLE(WIRELESS_PLAYBACK_TARGET)
> if (document && document->page())
> document->page()->setMockMediaPlaybackTargetPickerEnabled(true);
> #endif
>
> ... which means the mock picker is always enabled inside test runs.
>
> But this is actually what we want in this case - setting it to false will
> mean we'll get the real platform picker.
>
> So I think you can just test for internals, and then
> setMockMediaPlaybackTargetPickerState("Wireless playback target",
> "DeviceNotAvailable");
>
> I think that should mean the button will exist, but doesn't have anything to
> actually pick from. (Since we never select the target, I guess we didn't
> really need the addition of the DeviceNotAvailable state, but that will be
> nice to have in the future anyway)
Offline: setting the Enabled setting to false makes it possible to switch to using the native wireless environment than the mock one. So setting picker state will make Internals use the mock environment with no devices available.
Comment on attachment 265631[details]
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=265631&action=review> Source/WebCore/ChangeLog:28
> + * testing/Internals.cpp: Update to use a reference to Page.
Nice.
> LayoutTests/media/controls/inline-elements-dropoff-order.html:10
> + var supportsWirelessTargets = !!internals.setMockMediaPlaybackTargetPickerEnabled;
I know we say this only works in DRT, but maybe this line can be removed and....
> LayoutTests/media/controls/inline-elements-dropoff-order.html:21
> + if (supportsWirelessTargets)
> + internals.setMockMediaPlaybackTargetPickerState("Wireless playback target", "DeviceNotAvailable");
... this can just be if (window.internals). That way when running in Safari we won't get an exception right away.
I should have noted this originally, sorry.
> LayoutTests/media/controls/inline-elements-dropoff-order.html:71
> + if (supportsWirelessTargets)
And I guess this would be if (window.internals) too.
Comment on attachment 265631[details]
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=265631&action=review>> LayoutTests/media/controls/inline-elements-dropoff-order.html:21
>> + internals.setMockMediaPlaybackTargetPickerState("Wireless playback target", "DeviceNotAvailable");
>
> ... this can just be if (window.internals). That way when running in Safari we won't get an exception right away.
>
> I should have noted this originally, sorry.
"if (window.internals)" will end up breaking Yosemite and older. I'd expect supportsWirelessTargets to evaluate to false on those OSes.
Comment on attachment 282894[details]
Proposed patch.
View in context: https://bugs.webkit.org/attachment.cgi?id=282894&action=review> LayoutTests/media/controls/inline-elements-dropoff-order.html:65
> + }, 100);
I think it would be clearer to use a "resize" event handler followed by a requestAnimationFrame() to make sure that a layout has happened as a result of a resize for the controls.
Created attachment 282898[details]
Archive of layout-test-results from ews102 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews102 Port: mac-yosemite Platform: Mac OS X 10.10.5
Created attachment 282899[details]
Archive of layout-test-results from ews104 for mac-yosemite-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews104 Port: mac-yosemite-wk2 Platform: Mac OS X 10.10.5
Created attachment 282900[details]
Archive of layout-test-results from ews112 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews112 Port: mac-yosemite Platform: Mac OS X 10.10.5
Created attachment 282924[details]
Archive of layout-test-results from ews101 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101 Port: mac-yosemite Platform: Mac OS X 10.10.5
Created attachment 282927[details]
Archive of layout-test-results from ews107 for mac-yosemite-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews107 Port: mac-yosemite-wk2 Platform: Mac OS X 10.10.5
Created attachment 282930[details]
Archive of layout-test-results from ews112 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews112 Port: mac-yosemite Platform: Mac OS X 10.10.5
Created attachment 282939[details]
Archive of layout-test-results from ews102 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews102 Port: mac-yosemite Platform: Mac OS X 10.10.5
Created attachment 282940[details]
Archive of layout-test-results from ews107 for mac-yosemite-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews107 Port: mac-yosemite-wk2 Platform: Mac OS X 10.10.5
Created attachment 282943[details]
Archive of layout-test-results from ews117 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews117 Port: mac-yosemite Platform: Mac OS X 10.10.5
Created attachment 282972[details]
Archive of layout-test-results from ews102 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews102 Port: mac-yosemite Platform: Mac OS X 10.10.5
Created attachment 282974[details]
Archive of layout-test-results from ews106 for mac-yosemite-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106 Port: mac-yosemite-wk2 Platform: Mac OS X 10.10.5
2015-11-13 17:53 PST, Jon Lee
2015-11-13 18:38 PST, Build Bot
2015-11-13 20:35 PST, Build Bot
2015-11-13 20:50 PST, Build Bot
2015-11-14 21:00 PST, Jon Lee
2015-11-14 21:29 PST, Jon Lee
2015-11-14 21:50 PST, Jon Lee
2015-11-14 21:52 PST, Jon Lee
2015-11-14 22:38 PST, Build Bot
2015-11-14 22:42 PST, Build Bot
2015-11-14 22:43 PST, Build Bot
2015-11-14 23:17 PST, Jon Lee
2015-11-16 14:48 PST, Jon Lee
2015-11-16 15:53 PST, Jon Lee
2016-07-06 08:04 PDT, Eric Carlson
2016-07-06 08:51 PDT, Build Bot
2016-07-06 08:56 PDT, Build Bot
2016-07-06 09:04 PDT, Build Bot
2016-07-06 11:46 PDT, Eric Carlson
2016-07-06 12:21 PDT, Build Bot
2016-07-06 12:28 PDT, Build Bot
2016-07-06 12:36 PDT, Build Bot
2016-07-06 12:59 PDT, Eric Carlson
2016-07-06 13:48 PDT, Build Bot
2016-07-06 13:52 PDT, Build Bot
2016-07-06 14:04 PDT, Build Bot
2016-07-06 17:25 PDT, Eric Carlson
2016-07-06 17:54 PDT, Build Bot
2016-07-06 18:01 PDT, Build Bot
2016-07-06 18:07 PDT, Eric Carlson
2016-07-08 15:34 PDT, Eric Carlson
2016-07-08 20:19 PDT, Eric Carlson