Closed Bug 747277 Opened 12 years ago Closed 12 years ago

Fennec Native: Tables in overflowed DIV object do not horizontally scroll smoothly if data set is too large.

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Android
defect
Not set
minor

Tracking

(blocking-fennec1.0 -)

RESOLVED FIXED
Tracking Status
blocking-fennec1.0 --- -

People

(Reporter: Ken, Assigned: kats)

References

()

Details

(Whiteboard: [MTD])

Fennec does one thing that no other mobile browser does (that I'm aware of). That one thing is to properly handle "scrolling" of objects that have overflow. This is a behavior that I hope other mobile browsers will emulate in time. There are instances where being able to have an scrollable overflowed object is very desirable on a mobile device.  One of those instances is when dealing with tabular data sets.  For the most part in Fennec the scrolling of scrollable tables works very smoothly.  However, I have discovered that if a data set gets too large, horizontal scrolling becomes jerky and unreliable.

I have tested Firefox Mobile Beta, Aurora & Nightly on a Samsung Galaxy S2 and a Samsung Galaxy Tab 10.1 and found this behavior to exist in all instances.

To demonstrate this I have extracted a demo page from a web app I've been developing for a client (there is no sensitive data).

DEMO PAGE URL: http://klbproductions.com/OverflowExample/parcels.htm 


To replicate this behavior please go to the demo page and follow these steps (it is best to hold your device in portrait format):

1) Scroll down the page until the table fills the screen. I have found that "grabbing" the left most empty blue table header cell is the best spot to grab to scroll to the full table area into view (the master DIV object is vertically sized by JavaScript to be slightly shorter than available screen height).

2) try to vertically and horizontally scroll the table by "grabbing" on to the table body area (has a white background). Notice that vertical scrolling is smooth that horizontal scrolling is inconsistent. Also note that table headers are locked so that they do not vertically scroll with the table body.

3) try to horizontally scroll by grabbing on to the table header. Notice that you can smoothly scroll horizontally.

NOTES:
A) The demo page does validate to HTML5 and CSS3 specifications using W3C validators.

B) When the exact same code has a smaller data set (e.g. fewer rows) it Fennec does horizontally scroll smoothly.
Related to bug 722657?
(In reply to Martijn Wargers [:mw22] (QA - IRC nick: mw22) from comment #1)
> Related to bug 722657?

Yes, but it's good to have a test page like this one where we can profile performance and see what's going on. If scrolling gets worse when the subdocument gets larger that might be happening because we're painting more than we should be.
blocking-fennec1.0: --- → ?
My first thought was that this issue had to do with painting too much of the subdocument.  If it would help with profiling performance, I can create an even larger subdocument.
Ken, it would be ideal if you could attach a testcase to the bug (that is stripped as much as possible, but one that still shows the issue at hand).
blocking-fennec1.0: ? → -
This is fixed now with the dependent bug fixes. I'm seeing some invalidation/clipping errors while scrolling around the table (i.e. parts of the table body show up outside the table area while scrolling) but I believe that is the same as one of the issues in bugs 741173, 747791, 748485, 745167, or 728026. I'm going to mark this bug fixed; reopen if you feel the core problem in comment #0 is still not fixed in the next nightly.
Assignee: nobody → bugmail.mozilla
Status: NEW → RESOLVED
Closed: 12 years ago
Depends on: 722657, 732364
Resolution: --- → FIXED
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.