Closed
Bug 911574
Opened 11 years ago
Closed 11 years ago
Can not scroll on Yahoo Fantasy Sports Football
Categories
(Firefox for Android Graveyard :: General, defect)
Tracking
(firefox28 wontfix, firefox29 wontfix, firefox30 verified, firefox31 verified, fennec+)
VERIFIED
FIXED
Firefox 31
People
(Reporter: jthg, Assigned: kats)
References
()
Details
Attachments
(3 files, 4 obsolete files)
96.22 KB,
application/pdf
|
Details | |
1.11 KB,
text/html
|
Details | |
4.15 KB,
patch
|
wesj
:
review+
lsblakk
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:23.0) Gecko/20100101 Firefox/23.0 (Beta/Release)
Build ID: 20130820141247
Steps to reproduce:
1. Go to Yahoo Sports Fantasy College Football Pickem - My Picks [1].
(if you can't access the page, sign up for a free pickem account)
[1] http://football.fantasysports.yahoo.com/college/11183/1
Actual results:
2. Notice in portrait mode, you can only scroll ~ 4/5 of the way down.
3. Switch to landscape mode, and you only can't scroll at all and you only see 1/5 of the page.
Expected results:
You should be able to scroll the entire page in portait or landscape.
WORK AROUNDS:
A. If you enable Request Desktop Site, it will scroll the entire page.
B. Enabling a private tab does not fix the problem.
C. Clearing the cache does not fix the problem.
Reporter | ||
Updated•11 years ago
|
Reporter | ||
Comment 1•11 years ago
|
||
reported to Yahoo
Reporter | ||
Comment 2•11 years ago
|
||
I also tested this page on CM7 Android 2.3.7 Browser. Same result. So, probably, a problem with Yahoo!?
Comment 3•11 years ago
|
||
Using: LG Nexus 4(Android 4.2.2)
On Chrome and Dolphin browser the page is displayed correctly. You can scroll down the page in both landscape and portrait mode.
On Firefox, on all versions, the page is cut off. Even on Firefox 21. So it is an yahoo issue.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Updated•11 years ago
|
Assignee: nobody → other
Component: General → Other
Product: Firefox for Android → Tech Evangelism
Version: Firefox 23 → Trunk
Comment 4•11 years ago
|
||
This will never be fixed if it's sitting in other and not re-summarized.
This needs to take a look at their viewport code to understand what the issue is and to offer a suggestion over to their web-administration and development team for Yahoo Sports.
Here is Yahoo's College Football contact-us form: https://io.help.yahoo.com/contact/index?page=contact&locale=en_US&y=PROD_SPORTS_P_COL_FOOT
Alias: yahoo
Assignee: other → nobody
Component: Other → Mobile
Summary: Cannot scroll entire web page → Can not scroll on Yahoo Fantasy Sports Football
Updated•11 years ago
|
Assignee: nobody → miket
Comment 5•11 years ago
|
||
In http://l.yimg.com/ua/assets/eJyVketuwzAIhd9okbqLWu1hELVJgmYbC9Nqffs5qSaNpJO2n_6A48MhtDZUtDA_6eHt9fhyfA-dxOSeo2h2YKZUSZtjHKQ4kCkyeiJx-4aZMJI6XPDq32I8ckBjKf5PuZImvDnWZlTypCobQZANN5FkXFd2OnxvwWW6d52eV1L7B6TdA8E-qGVpuOv7xLAYthvQZ8_JvOm8qFzqNgmCnpd544vls6D62KLiaBDRyDh3Vxw-NgnanGFSLLEl9Jdbm_MwqVzqUMZU195WRe2XCacFU8LWdnXr9YZhORCmbXXND86JKELfcz8dFk0Of_b5qP-HDmQyTOn_go8H--YqHP3xvwCcEBoj.css?z&m (killer URI, eh) there are the following two rules:
html {
overflow-y: hidden;
}
body {
overflow-y: scroll;
}
Removing either of those rules fixes the problem for me (so there's likely some interaction elsewhere). Will try to reduce further.
Updated•11 years ago
|
Comment 6•11 years ago
|
||
OK, reduced test case here: https://miketaylr.com/bzla/911574.html (will upload as well).
The missing rule from the previous comment was:
html, body {
height: 100%;
}
Chrome (and Opera) Mobile, Android Internet browser, Opera Classic (Presto) Mobile all PASS.
Firefox and Firefox Beta FAIL (but only Mobile, can't reproduce on Desktop).
Comment 7•11 years ago
|
||
Comment 8•11 years ago
|
||
Moving to Firefox for Android, this seems more like a core or product bug than TE, IMO.
Assignee: miket → nobody
Component: Mobile → General
Product: Tech Evangelism → Firefox for Android
Updated•11 years ago
|
tracking-fennec: --- → ?
Assignee | ||
Comment 9•11 years ago
|
||
Thanks for the reduced test case! That makes it much easier to track down.
Blocks: 703573
Assignee | ||
Comment 10•11 years ago
|
||
Turns out fixing it for the test case is easy enough. The question is, what does it break? Dun dun dunnnnn...
Assignee | ||
Comment 11•11 years ago
|
||
Try push at https://tbpl.mozilla.org/?tree=Try&rev=ce9f75f1bf73. This will need some testing before I would consider landing it. The most likely mode of regression is that pages that used to scroll asynchronously will now scroll synchronously, and so be slower and jankier in general.
Assignee | ||
Updated•11 years ago
|
Assignee: nobody → bugmail.mozilla
Updated•11 years ago
|
tracking-fennec: ? → +
Assignee | ||
Comment 12•11 years ago
|
||
I tested the patch more and it does in fact break async scrolling on a number of sites. I need to talk to somebody in layout to figure out why sometimes it's the <html> element that has the overflow and why sometimes it's the <body> element. If we can get consistent behaviour there then we should be able to come up with a fix for this.
Assignee | ||
Comment 13•11 years ago
|
||
Ok, this one actually works correctly, I believe. We should just be treating the body like any other element, so if it has overflow:scroll on it then we can do synchronous subframe panning on it. Normal pages have the <html> element scrolling and that still works fine.
Note that if you test this, you might run into bug 886969 which this patch does not address.
Attachment #808966 -
Attachment is obsolete: true
Attachment #810927 -
Flags: review?(wjohnston)
Comment 14•11 years ago
|
||
Comment on attachment 810927 [details] [diff] [review]
Patch
Review of attachment 810927 [details] [diff] [review]:
-----------------------------------------------------------------
::: mobile/android/chrome/content/browser.js
@@ +4156,2 @@
> sendMessageToJava({ type: "Panning:Override" });
> + }
No need for braces here
@@ +4613,3 @@
> * - It has overflow 'auto' or 'scroll'
> * - It's a textarea
> * - It's an HTML/BODY node
Update the comment.
Attachment #810927 -
Flags: review?(wjohnston) → review+
Assignee | ||
Comment 15•11 years ago
|
||
Landed with the comment updated and braces removed:
https://hg.mozilla.org/integration/fx-team/rev/5a520e97e6a5
Backed out in https://hg.mozilla.org/integration/fx-team/rev/021068e308c1 along with bug 911152 for probably causing this robocop-1 orange: https://tbpl.mozilla.org/php/getParsedLog.php?id=28497023&tree=Fx-Team
Assignee | ||
Comment 17•11 years ago
|
||
The bustage was caused by bug 911152, so this one should be safe to re-land.
Keywords: checkin-needed
Assignee | ||
Comment 18•11 years ago
|
||
Updating the patch to the final version that I actually landed (review comments addressed).
Attachment #810927 -
Attachment is obsolete: true
Attachment #811683 -
Flags: review+
Comment 19•11 years ago
|
||
Keywords: checkin-needed
Whiteboard: [fixed-in-fx-team]
Comment 20•11 years ago
|
||
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Whiteboard: [fixed-in-fx-team]
Target Milestone: --- → Firefox 27
Assignee | ||
Comment 21•11 years ago
|
||
I backed this out for breaking iframe scrolling (bug 927863).
https://hg.mozilla.org/integration/fx-team/rev/16de756941cf
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: Firefox 27 → ---
Alias: yahoo
Assignee | ||
Comment 22•11 years ago
|
||
Same patch you r+'d before, but additionally changes the _hasScrollableOverflow function to treat things that are overflow:visible as scrollable. This fixes this bug without causing the regression that previously happened (bug 927863).
This also fixes bug 988991 and bug 953239 (which are dupes of each other).
Attachment #811683 -
Attachment is obsolete: true
Attachment #8398092 -
Flags: review?(wjohnston)
Comment 23•11 years ago
|
||
Comment on attachment 8398092 [details] [diff] [review]
Patch v2
Review of attachment 8398092 [details] [diff] [review]:
-----------------------------------------------------------------
I'm a little confused. Why does the overflow:visible stuff fix iframe panning?
Assignee | ||
Comment 24•11 years ago
|
||
All elements are by default overflow:visible. So there's a bunch of possible cases:
1) div that is overflow:visible. This is never scrollable
2) div that is overflow:scroll. This is scrollable, and scrollTopMax/scrollLeftMax may be > 0 if the content exceeds the bounds
3) iframe that is overflow:visible. This is scrollable, and scrollTopMax/scrollLeftMax may be > 0 if the content exceeds the bounds
4) iframe that is overflow:scroll. Same as above case
So previously we were checking scroll*Max > 0 and overflow:scroll. This caught cases 2 and 4. Case 3 was caught by the special-casing for body elements.
With the original patch I removed the special-casing for body elements, and so case 3 ended up regressing. With the new patch I check scroll*Max > 0 and !overflow:hidden. This will catch cases 2, 3, and 4, as desired, without the body element special-casing.
Does that make sense?
Comment 25•11 years ago
|
||
Comment on attachment 8398092 [details] [diff] [review]
Patch v2
Review of attachment 8398092 [details] [diff] [review]:
-----------------------------------------------------------------
::: mobile/android/chrome/content/browser.js
@@ +4951,5 @@
> return false;
> var computedStyle = win.getComputedStyle(elem);
> if (!computedStyle)
> return false;
> + return !(computedStyle.overflowX == 'hidden' && computedStyle.overflowY == 'hidden');
Add a comment here to explain briefly why "hidden" is all we care about, so that someone doesn't flip this back unknowingly later.
Attachment #8398092 -
Flags: review?(wjohnston) → review+
Assignee | ||
Comment 26•11 years ago
|
||
Thanks, done and landed:
https://hg.mozilla.org/integration/fx-team/rev/1aca519aec7e
I had to back this out in https://hg.mozilla.org/integration/fx-team/rev/688cdd76968d for robocop bustage:
https://tbpl.mozilla.org/php/getParsedLog.php?id=37172263&tree=Fx-Team
Flags: needinfo?(bugmail.mozilla)
Assignee | ||
Comment 28•11 years ago
|
||
Argh. The robocop tests are in quirks mode, and so for them it's the document.body that's scrollable as opposed to document.documentElement. My patch makes it scroll synchronously rather than async, and that's causing the bustage because the scrolling is lagging behind the simulated input. This will probably affect content in the wild too, so I should find a way to deal with it. Yay for tests that actually catch bugs!
Flags: needinfo?(bugmail.mozilla)
Assignee | ||
Comment 29•11 years ago
|
||
Sorry for the churn :(
Try run at https://tbpl.mozilla.org/?tree=Try&rev=0133bb33f023, it passes. The difference here is that the quirks mode/standards mode code to pick the right top-level scrolling document. This seems ugly but I think it's the right fix, because the "page size" that we get from gecko to determine how much to scroll implicitly has this condition in it somewhere.
Attachment #8398092 -
Attachment is obsolete: true
Attachment #8401116 -
Flags: review?(wjohnston)
Comment 30•11 years ago
|
||
Comment on attachment 8401116 [details] [diff] [review]
Patch v3
Review of attachment 8401116 [details] [diff] [review]:
-----------------------------------------------------------------
::: mobile/android/chrome/content/browser.js
@@ +4626,2 @@
> let doc = BrowserApp.selectedBrowser.contentDocument;
> + let rootScrollable = (doc.compatMode == "BackCompat" ? doc.body : doc.documentElement);
tripple equals please.
Attachment #8401116 -
Flags: review?(wjohnston) → review+
Assignee | ||
Comment 31•11 years ago
|
||
Done and landed:
https://hg.mozilla.org/integration/fx-team/rev/f4b4df9eba88
Comment 32•11 years ago
|
||
Status: REOPENED → RESOLVED
Closed: 11 years ago → 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 31
Comment 35•11 years ago
|
||
Is this safe enough to uplift to Aurora? We are close to the middle of the cycle and had the SV team verify that the duplicate cases are fixed as well.
Flags: needinfo?(bugmail.mozilla)
Assignee | ||
Comment 36•11 years ago
|
||
I'd like to let it bake on m-c for a few more days before considering uplift. This code has caused regressions in the past and I wouldn't be surprised if there are more.
Flags: needinfo?(bugmail.mozilla)
Assignee | ||
Comment 37•11 years ago
|
||
Comment on attachment 8401116 [details] [diff] [review]
Patch v3
[Approval Request Comment]
Bug caused by (feature/regressing bug #): initial native fennec
User impact if declined: some pages are not scrollable when they should be, some things (e.g. youtube video embeds) are scrollable when they shouldn't be.
Testing completed (on m-c, etc.): on m-c, locally
Risk to taking this patch (and alternatives if risky): this code has been the source of regressions before so I would say medium risk. affects android only.
String or IDL/UUID changes made by this patch: none
Attachment #8401116 -
Flags: approval-mozilla-aurora?
Assignee | ||
Updated•11 years ago
|
status-firefox28:
--- → affected
status-firefox29:
--- → affected
status-firefox30:
--- → affected
status-firefox31:
--- → fixed
Comment 38•11 years ago
|
||
Comment on attachment 8401116 [details] [diff] [review]
Patch v3
Given audience size, the risk doesn't scare me about getting this on Aurora but it will have to ride the trains from there so we can hopefully uncover most impacting potential regressions before shipping 30.
Attachment #8401116 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Assignee | ||
Comment 39•11 years ago
|
||
Agreed, I don't want to uplift it any farther than that either.
Assignee | ||
Comment 40•11 years ago
|
||
Comment 41•11 years ago
|
||
Verified as fixed on:
Builds:
30.0b2
31.0a2 (2014-05-08)
32.0a1 (2014-05-08)
Devices:
Galaxy Nexus (Android 4.2.1)
Asus Transformer Pad TF300T (Android 4.2.1)
Updated•4 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
•