Closed Bug 869413 Opened 11 years ago Closed 11 years ago

About:home flickers in and out when loading a new page

Categories

(Firefox for Android Graveyard :: General, defect)

x86
macOS
defect
Not set
normal

Tracking

(firefox21 unaffected, firefox22 verified, firefox23 verified, firefox24 verified)

VERIFIED FIXED
Firefox 24
Tracking Status
firefox21 --- unaffected
firefox22 --- verified
firefox23 --- verified
firefox24 --- verified

People

(Reporter: ibarlow, Assigned: bnicholson)

References

Details

Attachments

(1 file)

In the last week or so on Nightly, I've noticed that if I go to a new page from about:home, the page will go blank when it starts loading, but then flicker back and forth between the blank page and about:home until the new page is finally loaded. It's pretty funky looking.
I just tried reproducing this by tapping on a top site, and by loading a URL from the awesomescreen, and I didn't see this happen in either case. Does this happen all the time for you, or are there more detailed STR?
Brian, any clue?
Flags: needinfo?(bnicholson)
Hm. Now I can reproduce it if I come in by clicking a link in another app, after the browser has been left unused for a while. Maybe it has something to do with us being killed in the background?
I saw this happen last night, but my phone rebooted itself (sigh, Android) when I tried to get a log. I believe it happened when I clicked a link from Twitter, also when the app was killed in the background. (As an aside, I also saw bug 868692 at the same time, it seems like this restore logic could use some love.)
When the BACKGROUND flag was added in bug 844816, it changed the selected argument to be "!background" instead of "!delayLoad" (http://hg.mozilla.org/mozilla-central/file/1d7c615b4b62/mobile/android/base/Tabs.java#l640). This means that any code that calls Tabs#loadUrl() without the BACKGROUND flag will become selected, even if the DELAY_LOAD flag is given. Since all session restore tabs are restored using DELAY_LOAD but not BACKGROUND, all tabs are selected at startup as they're being restored, which is pretty terrible. We could change the session restore code to use both DELAY_LOAD and BACKGROUND flags, or we could change DELAY_LOAD to always imply BACKGROUND even if it's not given as a flag. I chose the latter because I don't think it makes sense to ever have a DELAY_LOAD tab be a selected one.
Assignee: nobody → bnicholson
Status: NEW → ASSIGNED
Attachment #748320 - Flags: review?(mark.finkle)
Flags: needinfo?(bnicholson)
Blocks: 844816
Comment on attachment 748320 [details] [diff] [review] Put all delayLoad tabs in the background Makes sense
Attachment #748320 - Flags: review?(mark.finkle) → review+
Comment on attachment 748320 [details] [diff] [review] Put all delayLoad tabs in the background [Approval Request Comment] Bug caused by (feature/regressing bug #): bug 844816 User impact if declined: broken session restore behavior Testing completed (on m-c, etc.): locally Risk to taking this patch (and alternatives if risky): very low String or IDL/UUID changes made by this patch: none
Attachment #748320 - Flags: approval-mozilla-beta?
Attachment #748320 - Flags: approval-mozilla-aurora?
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 24
Attachment #748320 - Flags: approval-mozilla-beta?
Attachment #748320 - Flags: approval-mozilla-beta+
Attachment #748320 - Flags: approval-mozilla-aurora?
Attachment #748320 - Flags: approval-mozilla-aurora+
Verified fixed on: Build: Firefox for Android 24.0a1 (2013-05-23)/Firefox for Android 22.0b2(2013-05-22)/Firefox for Android 23.0a2(2013-05-24) Device: Samsung Galaxy Tab OS: Android 4.0.4
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: