Closed Bug 899644 Opened 11 years ago Closed 11 years ago

Tab switcher UI reset issues

Categories

(Firefox for Android Graveyard :: General, defect)

All
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Firefox 32

People

(Reporter: rnewman, Assigned: capella)

References

Details

Attachments

(1 file, 1 obsolete file)

(See Bug 898782) * Open the tab tray, pick Synced Tabs * Tap one, and immediately open the tray again. * You'll be back where you were... and then when the page hits some loading point, the tab tray resets. If you're slow, it looks like the tab tray always opens in local tabs, with the position set to the current tab. If you're fast, you can see where we reset the interface. The second item seems to be related to the first (same symptoms), and is probably something funky like the loading point being a page load event that can trigger in the background while you're actually back in the tab list, doing something else. We should probably switch this behavior to reposition the tab list immediately on picking a new URL to visit, with the assumption that next time you come back you'll want to pick an existing tab. (We could also do it every time you open the tray, but that will really infuriate indecisive users!)
Blocks: remotetabs
Attached patch bug899644.diff (v0) (obsolete) — Splinter Review
Something like this seems to wfm ... avoids that "reset the interface" jank ...
Attachment #8426934 - Flags: review?(nalexander)
The interesting thing is, I don't really see the need for the block of code I moved to exist in the first place ?! + final TabsPanel.Panel panel = tab.isPrivate() ? + TabsPanel.Panel.PRIVATE_TABS : TabsPanel.Panel.NORMAL_TABS; + if (areTabsShown() && mTabsPanel.getCurrentPanel() != panel) { + showTabs(panel); Simply yanking it (patch not posted) seems to correct the whole issue. Additionally, the use-case for the code block, as described in the patch that created it Bug 834399, ... doesn't seem to regress it's original issue: "After closing a private tab, new selected tab is not visible in tray if it is non-private" Gonna tinker some more while I wait for you to respond
(In reply to Mark Capella [:capella] from comment #2) > The interesting thing is, I don't really see the need for the block of code > I moved to exist in the first place ?! > + final TabsPanel.Panel panel = tab.isPrivate() ? > + TabsPanel.Panel.PRIVATE_TABS : > TabsPanel.Panel.NORMAL_TABS; > + if (areTabsShown() && mTabsPanel.getCurrentPanel() != > panel) { > + showTabs(panel); > > Simply yanking it (patch not posted) seems to correct the whole issue. > Additionally, the use-case for the code block, as described in the patch > that created it Bug 834399, ... doesn't seem to regress it's original issue: > > "After closing a private tab, new selected tab is not visible in tray if it > is non-private" I feel like this should still be necessary. The use case is when you're on tablet, tabs tray open, and you close a private tab (that takes you back to a normal tab). We still need to update the tabs panel to reflect your state, which is that you're looking at a normal tab. Can you explain how removing the code would maintain this behaviour? Have I made a mistake?
Currently on my tablet, closing a single remaining private tab while the TabsTray / TabsPanel is displayed on my tablet hides them, and visually does the appropriate tab / page switch. Are you thinking it would / should close the private tab, keep the tabsTray open, then switch to / display the next available non-private tab?
Posting the patch that wfm ...
Attachment #8426934 - Attachment is obsolete: true
Attachment #8426934 - Flags: review?(nalexander)
Attachment #8428011 - Flags: review?(nalexander)
(In reply to Mark Capella [:capella] from comment #5) > Created attachment 8428011 [details] [diff] [review] > bug899644.diff (v1) > > Posting the patch that wfm ... I'm not ready to review this just yet, because I haven't yet understood why the original code was in place. (The change itself looks fine, meaning I believe it does what you say it does; I'm just not convinced that removing it maintains all the behaviour the old author expected.)
heh, yah, but I've had it in my build queue for almost a week and I can't think of a way to break it ... we can bake it on m-c for a bit and repair anything that falls out (worst-case is to replace the whole 2 lines of code) ;)
Assignee: nobody → markcapella
Status: NEW → ASSIGNED
Comment on attachment 8428011 [details] [diff] [review] bug899644.diff (v1) Review of attachment 8428011 [details] [diff] [review]: ----------------------------------------------------------------- I tried to understand the original bug as best I could, and compare to current behaviour, and I don't think the original case can happen anymore. For the record, our event handling around the tabs tray has changed a lot. The current behaviour is: closing a private tab takes you to the previous private tab; if there are no more private tabs, the tabs tray closes and you go to a normal tab. So I think this is good to go.
Attachment #8428011 - Flags: review?(nalexander) → review+
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 32
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: