Closed Bug 1073220 Opened 10 years ago Closed 8 years ago

Youtube videos opened in external player instead of Firefox

Categories

(Web Compatibility :: Site Reports, defect)

Other
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: karlcow, Unassigned)

References

()

Details

(Whiteboard: [mobile-compat-form] [country-all] [video])

Site: https://m.youtube.com/watch?v=udEEat65JMc
Youtube videos opened in external player instead of Firefox

:: Steps To Reproduce

1. With Firefox 32.0 on Android (GT-i9100 with Android 4.4.4)
2. Go to https://m.youtube.com/watch?v=udEEat65JMc
3. Touch the video to start it


:: Expected Result

The video to play in the browser

:: Actual Result

the device starts an external applications which turns to be a black screen if the YouTube player is not installed. It doesn't start in the browser.

:: Additional Information

Software Version: Firefox Android Aurora 32
Device Information: GT-i9100 with Android 4.4.4
Reporter's User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:34.0) Gecko/20100101 Firefox/34.0
Status: UNCONFIRMED → NEW
Ever confirmed: true
Whiteboard: [mobile-compat-form] → [mobile-compat-form] [country-all] [video]
When emulating the Firefox Android UA on Firefox Desktop
     "User-Agent: Mozilla/5.0 (Android; Mobile; rv:32) Gecko/32 Firefox/32"

We can reproduce the issue and get a bit more details. The page is giving for address
     vnd.youtube:udEEat65JMc?vndapp=youtube_mobile&vndclient=mv-google&vndel=watch&vnddnc=1

After the tag </body>, we get in a JS, 

    "playerType": "vnd.youtube",


<script type="text/javascript">
window.settings = {
[…]
    "build_timestamp": "Wed Sep 24 11:02:52 2014 (1411581772)",
    "supportsCssScroller": false,
    "inProduction": true,
    "lastReloadReason": "",
    "sts": 16336,
    "airplay": false,
    "isWifi": true,
    "supportsLiveStream": false,
    "playerType": "vnd.youtube",
    "isBigTablet": false,
[…]


And then later on in the script

\"player_data\": {\"stream_url\": \"vnd.youtube:udEEat65JMc?vndapp=youtube_mobile\\u0026vndclient=mv-google\\u0026vndel=watch\\u0026vnddnc=1\", \"playability\": \"PLAY_OK\", \"player_type\": \"vnd.youtube\"}


So the video is not playing in the browser because Google is asking to play in the external player.
Is it possible for YouTube to detect whether the app is installed? This rings a bell.. I'm pretty sure there's some discussion in a bug about "detecting" installed apps by listening for specific events from IFRAMEs with special app-triggering URLs. Seems bug 444165 is related but I haven't found the bug I'm actually looking for.
Hallvord,

do you mean Bug 984301.
No, not the bug I was looking for.

So, AFAIK there's no way for Youtube to detect that the app is not installed, and if we contact them we just want to push for playing everything in the browser app regardless?
For me on Firefox on Android, it automatically opens the Youtube app when opening an url with vnd.youtube: protocol: http://people.mozilla.org/~mwargers/tests/dom/protocol/protocol_in_frame.html
Yes. vnd.youtube is sent sometimes by YouTube. See Comment #1

Another similar issue on webcompat.
https://github.com/webcompat/web-bugs/issues/7

But as hallvord is saying there is not that much that can be done, except maybe registering an associated mime-type with an app. Firefox might be able to know that, but not the Web site for sure.
In FirefoxOS on the Flame device, the expected result as mentioned in comment 1 is reached.
I wonder why it's working there and not with FirefoxOS on desktop.
(In reply to Martijn Wargers [:mwargers] (QA) from comment #7)
> In FirefoxOS on the Flame device, the expected result as mentioned in
> comment 1 is reached.
> I wonder why it's working there and not with FirefoxOS on desktop.

because Google is doing User Agent sniffing and they send different versions to different mobile. 
We could ask Google to send exactly the same version to Firefox Android, BUT then we will create an issue for users who prefer to watch the video in the YouTube app. 

Not easy. It's why hallvord is talking about detecting if the app is here.
According to STR in Comment 0, this is FIXED (and likely a dupe of some similar bug, or vice versa).
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Product: Tech Evangelism → Web Compatibility
Component: Mobile → Site Reports
You need to log in before you can comment on or make changes to this bug.