Closed Bug 1539761 Opened 6 years ago Closed 5 years ago

Run Raptor Firefox on WebView on Fire TV

Categories

(Testing :: Raptor, enhancement, P3)

Version 3
enhancement

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: whimboo, Unassigned)

Details

(Whiteboard: [blocked])

It would be great to get Raptor running on the Fire TV devices. Right now the main blocker is the missing WebExtensions support, which won't allow Raptor to work at all.

But also starting Firefox on the Fire TV doesn't work yet:

$ ./mach raptor-test --test raptor-speedometer --app=geckoview --binary="org.mozilla.tv.firefox"

It results in:

09:18:14 INFO - adb shell_output: adb -s G070VM0990350952 wait-for-device shell am start -W -n org.mozilla.tv.firefox/org.mozilla.tv.firefox.GeckoViewActivity -a android.intent.action.Main --ez use_multiprocess True --es args "-profile /sdcard/raptor/profile --es env0 LOG_VERBOSE=1 --es env1 R_LOG_LEVEL=6" -d about:blank; echo adb_returncode=$?, timeout: None, root: False, timedout: None, exitcode: 0, output: Starting: Intent { act=android.intent.action.Main dat=about:blank cmp=org.mozilla.tv.firefox/.GeckoViewActivity (has extras) }
09:18:14 INFO - Error type 3
09:18:14 INFO - Error: Activity class {org.mozilla.tv.firefox/org.mozilla.tv.firefox.GeckoViewActivity} does not exist.

The above failure can be solved when using MainActivity here:
https://searchfox.org/mozilla-central/source/testing/raptor/raptor/cmdline.py#21

It would be good to find a way to dynamically retrieve the main activity without having to specify it in the configs.

Note that starting the app also works with the following command and no changes to Raptor:

$ ./mach raptor-test --test raptor-speedometer --app=geckoview --binary="org.mozilla.tv.firefox" --activity MainActivity

Also when starting the Firefox TV app the following items are blocking the UI:

  • turbo mode selection (on/off)
  • pocket introduction

Both might be able to turn off with setting custom preferences.

Type: defect → enhancement
Priority: -- → P1

So Firefox on FireTV is based on WebView and not GeckoView. Does WebView support WebExtensions? When I queried for that I wasn't able to find any positive sign. As such I assume that this API is not supported, and as such Firefox on WebView won't ever allow us to support Raptor due to the missing web extension it currently required.

Nick, mind giving feedback?

Flags: needinfo?(nalexander)

(In reply to Henrik Skupin (:whimboo) [⌚️UTC+1] from comment #3)

So Firefox on FireTV is based on WebView and not GeckoView.

This is true now, but the team is working hard to convert to GV (in the wild).

Does WebView support WebExtensions? When I queried for that I wasn't able to find any positive sign. As such I assume that this API is not supported, and as such Firefox on WebView won't ever allow us to support Raptor due to the missing web extension it currently required.

No, WV doesn't support Web Extensions, and likely will never do so. So Raptor's current architecture will likely never support this.

However, I did the work required to make browsertime target both WV- and GV-based Firefox TV as part of producing this report.

In particular, I added Intent arguments to control the settings you mention in #c2.

I am actively evolving the harness that drove browsertime for that report into a mach command in Bug 1545627.

There were many details around proxies, certificates, and chromedriver versions that aren't captured in upstream Firefox TV, so if you really want to drive WV-based Firefox TV in the way I did with browsertime, be sure to talk to me to save some effort. I can rehabilitate some patches adding proxy support, etc.

Flags: needinfo?(nalexander)

Ok, great. Thank you for those detailed info. At least for our Q2 work as covered on bug 1539090, we are allowed to use the geckoview_example or refbrower applications, so this isn't actually a blocker anymore.

We may even wontfix this bug. Also because once Firefox will be based on GV, it should work out of the box. But this I want to leave up to Rob.

No longer blocks: 1539090

Thanks, yes I don't see us adding support for this to Raptor anytime soon.

Status: NEW → RESOLVED
Closed: 5 years ago
Priority: P1 → P3
Resolution: --- → WONTFIX

Actually this is invalid because it can't simply be done due to no webextension support.

Resolution: WONTFIX → INVALID
Summary: Run Raptor on Fire TV → Run Raptor Firefox on WebView on Fire TV
You need to log in before you can comment on or make changes to this bug.