Closed Bug 662520 Opened 9 years ago Closed 8 years ago

NewTab popup indicator 'arrow' is missing or is pointed to the right instead of left


(Firefox for Android Graveyard :: General, defect, P3)




Firefox 8
Tracking Status
fennec - ---


(Reporter: xti, Assigned: lucasr)



(Whiteboard: [fennec 5.0b4])


(2 files, 1 obsolete file)

Attached image screenshot
Build id : Mozilla/5.0 (Android;Linux armv7l;rv:7.0a1)Gecko/20110607
Firefox/7.0a1 Fennec/7.0a1
Device: Motorola Droid 2
OS: Android 2.2

Steps to reproduce:
1. Open Nightly app
2. Go to
3. Tap on Always Show button from the Notification Bar
4. Reload the page opened at step 2

Expected result:
A popup toaster is displayed on the middle-left edge of the screen. Its arrow is pointed to the left.

Actual result:
The toaster arrow is missing or it's pointed to the right.

Please see the following video:
Whiteboard: [fennec 5.0b4]
The 'newtab' popup is not a toaster, so I edited the title.

it seems like the arrowbox is being positioned slightly offscreen, which is causing the arrow calculation to mess up positioning the arrow.
Summary: Popup toaster indicator is missing or is pointed to the right instead of left → NewTab popup indicator 'arrow' is missing or is pointed to the right instead of left
This works fine for me as expected (in Portrait view) using the same build on the N1. Landscape view I see the described behaviour.
Priority: -- → P3
tracking-fennec: --- → ?
Assignee: nobody →
tracking-fennec: ? → -
The problem here is that when the new tab overflows the tab scrollbox, the calculation of the arrow direction gets confused because it uses getBoundingClientRect() on the anchorNode which doesn't discard the overflown area of the tab.

I introduce two new methods to arrowbox: pointLeftTo() and pointRightTo() which will simply force the arrow direction and set the position according to a certain node. Those methods don't anchor the arrow to the target node as we're forcing direction (anchoring would be pointless). A code refactoring to allow anchorTo, pointLeftTo, and pointRightTo to share same code was necessary.
Attachment #549546 - Flags: review?(mark.finkle)
Also fixes a type and renames method to pointLeftAt and pointRightAt which makes more sense English-wise.
Attachment #549546 - Attachment is obsolete: true
Attachment #549546 - Flags: review?(mark.finkle)
Attachment #549856 - Flags: review?(mark.finkle)
Attachment #549856 - Flags: review?(mark.finkle) → review+
Keywords: checkin-needed
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 8
Verified Fixed
Mozilla/5.0 (Android; Linux armv7l; rv:8.0a1) Gecko/20110810 Firefox/8.0a1 Fennec/8.0a1
Depends on: 692419
You need to log in before you can comment on or make changes to this bug.