Closed
Bug 766914
Opened 12 years ago
Closed 12 years ago
Unable to play videos on mobile YouTube; redirection loop on 'Play'
Categories
(Firefox for Android Graveyard :: General, defect)
Tracking
(firefox14 verified, firefox15 fixed, firefox16 verified, blocking-fennec1.0 betaN+)
People
(Reporter: csuciu, Assigned: mfinkle)
References
()
Details
Attachments
(3 files, 3 obsolete files)
77.10 KB,
text/plain
|
Details | |
4.75 KB,
patch
|
mfinkle
:
review+
|
Details | Diff | Splinter Review |
1.93 KB,
patch
|
bnicholson
:
feedback+
|
Details | Diff | Splinter Review |
Nightly 16.0a1 (2012-06-21) Steps: 1. Go to m.youtube.com 2. Tap on one of the video 3. Tap on play button for the selected video Expected Video starts to play Actual: Page is refreshed Log attached
Updated•12 years ago
|
blocking-fennec1.0: --- → ?
status-firefox14:
--- → affected
status-firefox15:
--- → affected
status-firefox16:
--- → affected
Comment 1•12 years ago
|
||
So YouTube's changes worked late afternoon yesterday. On 'play' one would be redirected to their desktop site. It looks like they changed something and it's in a user-agent redirection loop.
Updated•12 years ago
|
Severity: normal → major
Updated•12 years ago
|
blocking-fennec1.0: ? → +
Comment 2•12 years ago
|
||
As commented in an e-mail thread, spoofing the iPhone UA gets us to the point where we have an unplayable video. There is a different path (user-agent redirection loop as Aaron points out above) for Fennec.
Updated•12 years ago
|
Assignee: nobody → blassey.bugs
Updated•12 years ago
|
Summary: Page refreshed on m.youtube.com when tapping on 'play video' button → Unable to play videos on mobile YouTube; redirection loop on 'Play'
Updated•12 years ago
|
Blocks: youtube.com
Comment 4•12 years ago
|
||
A couple notes: 1) XUL Fennec works fine, kicks out to the youtube app on the device as it always has 2) Native Fennec with its UA switched to XUL Fennec's also works fine, kicking out to the youtube app if we could get google to serve native fennec the same content as xul fennec, that would be ideal
Comment 5•12 years ago
|
||
cc Jet, who was in contact with YouTube about getting mobile content in Firefox.
Comment 6•12 years ago
|
||
And kev, on the off chance he was on the same thread, and wakes up earlier.
Updated•12 years ago
|
blocking-kilimanjaro: --- → ?
Assignee | ||
Comment 7•12 years ago
|
||
(In reply to Brad Lassey [:blassey] from comment #4) > A couple notes: > > 1) XUL Fennec works fine, kicks out to the youtube app on the device as it > always has > 2) Native Fennec with its UA switched to XUL Fennec's also works fine, > kicking out to the youtube app > > if we could get google to serve native fennec the same content as xul > fennec, that would be ideal Note that the YouTube player app needs to be installed for the "kick out" to work.
Assignee | ||
Comment 8•12 years ago
|
||
This patch uses the basics of the "Request Desktop Site" patch to force sending a XUL UA to youtube. The domain matching is a bit loose, only testing for "youtube" anywhere in the host.
Attachment #635315 -
Flags: review?(bnicholson)
Comment 9•12 years ago
|
||
Attachment #635316 -
Flags: review?(mark.finkle)
Comment 10•12 years ago
|
||
FYI - This bug is on the top list of topics to talk about at the mobile web compat meeting at 9am, if anyone is interested in attending to discuss it.
Assignee | ||
Updated•12 years ago
|
Attachment #635315 -
Flags: review?(blassey.bugs)
Assignee | ||
Updated•12 years ago
|
Attachment #635316 -
Attachment is obsolete: true
Attachment #635316 -
Flags: review?(mark.finkle)
Comment 11•12 years ago
|
||
Comment on attachment 635315 [details] [diff] [review] patch Review of attachment 635315 [details] [diff] [review]: ----------------------------------------------------------------- ::: mobile/android/chrome/content/browser.js @@ +2868,5 @@ > +#expand let version = "__MOZ_APP_VERSION__"; > + ua += " Fennec/" + version; > + channel.setRequestHeader("User-Agent", ua, false); > + } > + } nit, enclose this case in curly brackets so channel and channelWindow are only scoped to this case
Attachment #635315 -
Flags: review?(blassey.bugs) → review+
Assignee | ||
Updated•12 years ago
|
Attachment #635315 -
Flags: review?(bnicholson) → review?(mbrubeck)
Assignee | ||
Comment 12•12 years ago
|
||
As an example, in XUL Fennec when you tap the video to start playing, Youtube sends us this URL: vnd.youtube:e9flNIz9qhg?vndapp=youtube_mobile&vndclient=mv-google&vndel=home&vnddnc=1
Comment 13•12 years ago
|
||
Question: If you tube revs their site again, will this fix over-ride their changes?
blocking-kilimanjaro: ? → ---
Updated•12 years ago
|
Attachment #635315 -
Flags: review?(mbrubeck) → review+
Comment 14•12 years ago
|
||
Comment on attachment 635315 [details] [diff] [review] patch >+ Services.obs.removeObserver(this, "http-on-modify-request", false); Nit: The last argument (false) should be removed.
Comment 15•12 years ago
|
||
One thing to consider is "http-on-modify-request" is called for every resource on every page. Having N tabs open would multiply the number of observed callbacks by N. It would be more efficient to have a single observer that operates on all tabs rather than having each tab listen for this event. I was going to make this same change in bug 766406. Maybe you could put this in a class called UserAgent, and I could merge my AgentMode class into that?
Comment 16•12 years ago
|
||
(In reply to Brian Nicholson (:bnicholson) from comment #15) > One thing to consider is "http-on-modify-request" is called for every > resource on every page. Having N tabs open would multiply the number of > observed callbacks by N. It would be more efficient to have a single > observer that operates on all tabs rather than having each tab listen for > this event. I was going to make this same change in bug 766406. > > Maybe you could put this in a class called UserAgent, and I could merge my > AgentMode class into that? Good point. For simplicity in this patch (which is a temporary hack and will be removed soon), we could just add the observer to BrowserApp instead of Tab.prototype.
Comment 17•12 years ago
|
||
Also, it may not be a big deal, but this check would match other hosts containing "youtube" (youtube-global.blogspot.com, www.youtube-mp3.org). You could make sure the end of the host string is ".youtube.com" to avoid this.
Comment 18•12 years ago
|
||
(In reply to Brian Nicholson (:bnicholson) from comment #17) > Also, it may not be a big deal, but this check would match other hosts > containing "youtube" (youtube-global.blogspot.com, www.youtube-mp3.org). You > could make sure the end of the host string is ".youtube.com" to avoid this. Although that wouldn't match http://youtube.com - maybe a regex like: /^(.+\.)?youtube\.com$/ ?
Comment 19•12 years ago
|
||
(In reply to Mark Finkle (:mfinkle) from comment #8) > Created attachment 635315 [details] [diff] [review] > patch > > This patch uses the basics of the "Request Desktop Site" patch to force > sending a XUL UA to youtube. The domain matching is a bit loose, only > testing for "youtube" anywhere in the host. Oh, just saw this.
Assignee | ||
Comment 20•12 years ago
|
||
This patch moves the code to a singleton. It was just as easy as doing it in BrowserApp and a tab cleaner imo.
Assignee: blassey.bugs → mark.finkle
Attachment #635315 -
Attachment is obsolete: true
Attachment #635365 -
Flags: review?(blassey.bugs)
Updated•12 years ago
|
Attachment #635365 -
Flags: review?(blassey.bugs) → review+
Comment 21•12 years ago
|
||
Comment on attachment 635365 [details] [diff] [review] patch 2 >+ uninit: function ua_uninit() { >+ Services.obs.removeObserver(this, "http-on-modify-request", false); >+ }, Same nit as before: The "false" should be removed.
Updated•12 years ago
|
Attachment #635365 -
Flags: approval-mozilla-beta+
Attachment #635365 -
Flags: approval-mozilla-aurora+
Assignee | ||
Comment 22•12 years ago
|
||
Patch with Matt's nit fixed. Ready to push.
Attachment #635365 -
Attachment is obsolete: true
Attachment #635373 -
Flags: review+
Assignee | ||
Updated•12 years ago
|
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•12 years ago
|
blocking-fennec1.0: + → betaN+
Comment 24•12 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/551d99cd89d4 https://hg.mozilla.org/releases/mozilla-aurora/rev/01e96c76e268 https://hg.mozilla.org/releases/mozilla-beta/rev/f54b2bbd3baf (14_0_Beta) https://hg.mozilla.org/releases/mozilla-beta/rev/35a98282d2a6 (MOBILE140_2012061216_RELBRANCH) https://hg.mozilla.org/releases/mozilla-beta/rev/aea5ee5b6801 (default)
Assignee | ||
Comment 25•12 years ago
|
||
This patch applies over that previous patch and sends the desktop UA instead of XUL UA.
Assignee | ||
Updated•12 years ago
|
Attachment #635404 -
Flags: feedback?(bnicholson)
Updated•12 years ago
|
Attachment #635404 -
Flags: feedback?(bnicholson) → feedback+
Comment 26•12 years ago
|
||
Tested the private build in channel with the first patch checked in and playback functionality was restored; YouTube is fully functional as a mobile site now (rather pleasant to use now over desktop). I have not encountered any bizarre regressions thus far. Kevin, Naoki, what's it like on 2.2? -- Tested via Galaxy Nexus (Android 4.0.4) & Droid Bionic (Android 2.3)
Comment on attachment 635373 [details] [diff] [review] patch for checkin >+ if (channel.URI.host.indexOf("youtube") != -1) { I think you probably want a stricter check for whether this is the host you want. (Probably either an equality check or maybe something using the effective-TLD code?)
Comment 28•12 years ago
|
||
(In reply to David Baron [:dbaron] from comment #27) > I think you probably want a stricter check for whether this is the host you > want. (Probably either an equality check or maybe something using the > effective-TLD code?) We decided that false positives were basically harmless for this temporary hack, so we intentionally erred on that side.
Comment 29•12 years ago
|
||
(In reply to Aaron Train [:aaronmt] from comment #26) > Tested the private build in channel with the first patch checked in and > playback functionality was restored; YouTube is fully functional as a mobile > site now (rather pleasant to use now over desktop). I have not encountered > any bizarre regressions thus far. > > Kevin, Naoki, what's it like on 2.2? > > -- > Tested via Galaxy Nexus (Android 4.0.4) & Droid Bionic (Android 2.3) Tested on Droid 2, android 2.2, the fix is working.
Comment 30•12 years ago
|
||
Verified Fixed via 14.0 Beta 8 - Candidate #1, Build #2 (buildID=20120621141442) -- Samsung Galaxy Nexus (Android 4.0.4) Samsung Nexus S (Android 4.0.3) HTC Nexus One (Android 2.3.4)
Status: RESOLVED → VERIFIED
Comment 32•12 years ago
|
||
Reopening this one per this July 5 e-mail from youtube: "We verified that our fix works with both the stable release that launched last week, as well as the "Firefox Beta" app in the store. It is live now, so you can verify that it works on m.youtube.com" They pushed a fix that should render the UA hack unnecessary. I'd love to back it out of Fennec if the youtube server-side fix is verified. Testing a Fennec build from just before 14.0b8 should verify the server changes.
Comment 33•12 years ago
|
||
As a point of comparison, testing this on Firefox OS that does not contain the hack ends up showing vnd.youtube when you try to view a video (I believe that's the youtube android activity).
Comment 34•12 years ago
|
||
Tested using FF Android 14.0 Beta 6 - Video plays with no issues. I might suggest though we open a separate bug to track this to eliminate possible confusion.
Keywords: qawanted
Updated•12 years ago
|
tracking-fennec: --- → ?
Assignee | ||
Comment 35•12 years ago
|
||
Aaron - Can you close/verify this bug and open a new bug to backout the change?
Comment 36•12 years ago
|
||
(In reply to Mark Finkle (:mfinkle) from comment #35) > Aaron - Can you close/verify this bug and open a new bug to backout the > change? bug 778561
Status: REOPENED → RESOLVED
tracking-fennec: ? → ---
Closed: 12 years ago → 12 years ago
Resolution: --- → FIXED
Whiteboard: [qa+]
Updated•12 years ago
|
Status: RESOLVED → VERIFIED
Comment 37•12 years ago
|
||
It would appear that this is happening again - Going to any Youube video on the mobile site in current Nightly results in a refresh loop on play.
Status: VERIFIED → REOPENED
Resolution: FIXED → ---
Comment 38•12 years ago
|
||
(In reply to Chris Lord [:cwiiis] from comment #37) > It would appear that this is happening again - Going to any Youube video on > the mobile site in current Nightly results in a refresh loop on play. I don't encounter this issue with the current nightly. YouTube videos correctly kick out to the YouTube app. I tested with Nightly 2012-08-25 on a Samsung Galaxy S2 ICS 4.0.4. With what version of Nightly and what device and OS are you testing?
Comment 39•12 years ago
|
||
Nightly 2012-08-25 on a Google Nexus 7.
Comment 40•12 years ago
|
||
:cwiiis - 1. What version of Android are you running? 2. Can you reproduce the issue on all channels or only on Nightly? 3. Have you tried clearing the data/cache for Nightly? Any change?
Comment 41•12 years ago
|
||
08/27 GN 4.1.1, I get the Android YouTube player; wfm.
Comment 42•12 years ago
|
||
Closing.
Status: REOPENED → RESOLVED
Closed: 12 years ago → 12 years ago
Resolution: --- → FIXED
Comment 43•12 years ago
|
||
(In reply to Jason Smith [:jsmith] from comment #42) > Closing. This still doesn't work on the Nexus 7. Will file a new bug as people seem eager to keep this one closed.
Updated•12 years ago
|
Status: RESOLVED → VERIFIED
Updated•3 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•