Closed Bug 597980 Opened 15 years ago Closed 15 years ago

Switching into and out of Panorama mode quickly can cause the wrong tab to be selected on return

Categories

(Firefox Graveyard :: Panorama, defect, P3)

x86
Windows 7
defect

Tracking

(Not tracked)

VERIFIED FIXED
Firefox 5

People

(Reporter: rain1, Assigned: raymondlee)

References

Details

(Whiteboard: [visual][ux][polish])

Attachments

(1 file, 5 obsolete files)

Windows 7, Minefield 4.0b7pre, September 19. STR: 1. Open two tabs (let's call them A and B). 2. Focus tab A normally. 3. Enter Panorama mode (Ctrl-Space) and exit it normally. Panorama should believe (indicated by the focus ring) that the focused tab is tab A. 4. Switch to tab B. 5. Press Ctrl-Space twice in succession, entering and exiting before the animation is complete). You'll see tab A on return, not tab B. What seems to be happening is that Panorama's only updating the tab it believes to be focused after the animation is complete.
Assignee: nobody → seanedunn
Priority: -- → P3
Confirmed that this is happening as of the latest m-c on the 12th of Oct. Something we should certainly fix, but not as important as speed or data-loss bugs.
Blocks: 598154
Target Milestone: --- → Firefox 4.0
bugspam (moving b9 to b10)
Blocks: 608028
bugspam (removing b9)
No longer blocks: 598154
Sean, I'd be happy to take this off your plate.
Blocks: 627096
No longer blocks: 608028
Whiteboard: [visual][ux][polish]
Attached patch Trivial patch (obsolete) — Splinter Review
Writing a test which is 100% deterministic for this could be a tad tricky... I'd be most inclined for writing a test based on the STR for bug 622870, i.e. clicking on a tab to zoom in on it and immediately (5ms after) checking that that tab and its parent are already set as active.
Assignee: seanedunn → mitcho
Status: NEW → ASSIGNED
Attachment #510157 - Flags: review?(ian)
Comment on attachment 510157 [details] [diff] [review] Trivial patch > setActiveOrphanTab: function GroupItems_setActiveOrphanTab(tabItem) { >+ this.setActiveOrphanTab(null); > this._activeOrphanTab = tabItem; > }, I imagine you don't intend this infinite loop. Perhaps the new line is supposed to go in setActiveGroupItem? The test you propose sounds decent.
Attachment #510157 - Flags: review?(ian) → review-
(In reply to comment #7) > Comment on attachment 510157 [details] [diff] [review] > Trivial patch > > > setActiveOrphanTab: function GroupItems_setActiveOrphanTab(tabItem) { > >+ this.setActiveOrphanTab(null); > > this._activeOrphanTab = tabItem; > > }, > > I imagine you don't intend this infinite loop. Perhaps the new line is supposed > to go in setActiveGroupItem? Sorry, that was supposed to be this.setActiveGroupItem(null). This does not trigger an infinite loop, though, as setActiveGroupItem doesn't call setActiveOrphanTab if setActiveGroupItem's argument is null... Adding the corresponding check to setActiveOrphanTab now.
Blocks: 631934
Attached patch Patch v2, with test (obsolete) — Splinter Review
Attachment #510157 - Attachment is obsolete: true
Attachment #510510 - Flags: review?(ian)
Comment on attachment 510510 [details] [diff] [review] Patch v2, with test + Gavin for quick review while Ian is out.
Attachment #510510 - Flags: review?(gavin.sharp)
Comment on attachment 510510 [details] [diff] [review] Patch v2, with test >+ is(contentWindow.GroupItems.getActiveGroupItem(), originalGroup, >+ "The new group is active"); >+ is(contentWindow.UI.getActiveTab(), originalTab._tabViewTabItem, >+ "The new tab is active"); These should be newGroup and newTab, right? r+ with that fixed.
Attachment #510510 - Flags: review?(ian)
Attachment #510510 - Flags: review?(gavin.sharp)
Attachment #510510 - Flags: review+
(In reply to comment #13) > Comment on attachment 510510 [details] [diff] [review] > Patch v2, with test > > >+ is(contentWindow.GroupItems.getActiveGroupItem(), originalGroup, > >+ "The new group is active"); > >+ is(contentWindow.UI.getActiveTab(), originalTab._tabViewTabItem, > >+ "The new tab is active"); > > These should be newGroup and newTab, right? You're right... the test was wrong, but it was passing... trying to figure out why now.
Attached patch Patch v2.1 (obsolete) — Splinter Review
Figured out why the test was failing... I was misusing sendMouseEvent and middle-clicking on it, not left-clicking on it, so it wasn't actually zooming in successfully. Fixed and pushed to try.
Attachment #510510 - Attachment is obsolete: true
Passed try cleanly. Note to approvers: small footprint, fixes a ux glitch, lays groundwork for fixing bug 631934, and passed try with flying colors.
Attachment #511539 - Flags: approval2.0? → approval2.0+
Attached patch Patch for check-in (obsolete) — Splinter Review
Attachment #511539 - Attachment is obsolete: true
Keywords: checkin-needed
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Flags: in-testsuite+
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: Firefox 4.0 → Firefox 4.0b12
Mozilla/5.0 (Windows NT 6.1; rv:2.0b12pre) Gecko/20110215 Firefox/4.0b12pre Verified issue and it's no longer reproducible.
Status: RESOLVED → VERIFIED
I still see this bug or something like it. Filed bug 638273.
Bug 638273 claims this is still an issue, anyone else getting this still?
I can reproduce this issue. Mostly it is triggered when I click 2 tabs next to each other and then select tab view multiple times. Link to a screen recording showing the issue with latest nightly. http://www.mediafire.com/?en28cyahc572b6e
To reproduce this bug one needs to switch tabs by clicking on the tab bar, selecting a different tab in panaroma mode is not triggering this. Can this bug be reopened ?
(In reply to comment #25) > To reproduce this bug one needs to switch tabs by clicking on the tab bar, > selecting a different tab in panaroma mode is not triggering this. > Can this bug be reopened ? It's hard to reproduce but you will hit this Steps 1) Select tab A in the tabbar 2) Go into panorama using keyboard shortcut (ctrl/cmd+shift+e) 3) Exit panorama using keyboard shortcut (ctrl/cmd+shift+e) 4) Select tab B in the tabbar 5) Press keyboard shortcut (ctrl/cmd+shift+e) twice in one go Actual: You see the zoom out and zoom in animations, and the tab A is selected Expected: You see the zoom out and zoom in animations, and the tab B should still be selected
Status: VERIFIED → REOPENED
Resolution: FIXED → ---
Blocks: 585689
mitcho: I've updated the test to reproduce the issue. Hope this helps.
mitcho: if you are not working on this, I can take this one.
(In reply to comment #28) > mitcho: if you are not working on this, I can take this one. Raymond, thanks, that would be great.
Assignee: mitcho → raymond
Attached patch v3Splinter Review
Attachment #512084 - Attachment is obsolete: true
Attachment #517689 - Attachment is obsolete: true
Attachment #518004 - Flags: review?(ian)
Comment on attachment 518004 [details] [diff] [review] v3 Looks good.
Attachment #518004 - Flags: review?(ian) → review+
Comment on attachment 518004 [details] [diff] [review] v3 Very small footprint. Just added one line of code.
Attachment #518004 - Flags: approval2.0?
Comment on attachment 518004 [details] [diff] [review] v3 Passed try.
Comment on attachment 518004 [details] [diff] [review] v3 No longer accepting patches for desktop Firefox.
Attachment #518004 - Flags: approval2.0? → approval2.0-
Comment on attachment 511539 [details] [diff] [review] Patch v2.1 Clearing obsolete a+
Attachment #511539 - Flags: approval2.0+
No longer blocks: 627096
Will this fix be included in RC2
No longer blocks: 585689
Comment on attachment 518004 [details] [diff] [review] v3 Re-upping for approval now that the tree is open.
Attachment #518004 - Flags: approval2.0- → approval2.0?
Whiteboard: [visual][ux][polish] → [visual][ux][polish][fixed-in-cedar]
Comment on attachment 518004 [details] [diff] [review] v3 I think we can land without approval. Also, it's already on cedar now.
Attachment #518004 - Flags: approval2.0?
Status: REOPENED → RESOLVED
Closed: 15 years ago15 years ago
Resolution: --- → FIXED
Whiteboard: [visual][ux][polish][fixed-in-cedar] → [visual][ux][polish]
Target Milestone: Firefox 4.0b12 → Firefox4.2
FWIW, no approval is required to land stuff on trunk any more.
Verified issue with Mozilla/5.0 (X11; Linux i686; rv:2.2a1pre) Gecko/20110404 Firefox/4.2a1pre
Status: RESOLVED → VERIFIED
Target Milestone: Firefox5 → Firefox 5
Product: Firefox → Firefox Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: