invalid form popup can be partially offscreen; "ASSERTION: Popup is offscreen"

NEW
Unassigned

Status

()

Core
XUL
7 years ago
7 years ago

People

(Reporter: mounir, Unassigned)

Tracking

Trunk
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Reporter)

Description

7 years ago
From layout/xul/base/src/nsMenuPopupFrame.cpp:1279

The popup can be offscreen. That's an expected behavior. I don't even think we should WARN here...

Comment 1

7 years ago
No, popups should never be appearing offscreen. It is definitely an error if mInContentShell is true.
(Reporter)

Comment 2

7 years ago
I have this assertion when I have a popup appearing at the left of my window and the window is at the left of the screen. A part of the popup is then offscreen. What should be the correct behavior?

Comment 3

7 years ago
What happens if you have the patch in bug 524545 applied?
(Reporter)

Comment 4

7 years ago
(In reply to comment #3)
> What happens if you have the patch in bug 524545 applied?

Yes. If the window is close enough to the border of the screen.

Comment 5

7 years ago
Do you have a testcase?
(Reporter)

Comment 6

7 years ago
You can open oldworld.fr/mozilla/input-style.html, put the window at the left of your screen, click on the first input element and press enter.

Comment 7

7 years ago
That arrow panel in that test appears onscreen for me.
(Reporter)

Comment 8

7 years ago
Created attachment 502789 [details]
Screenshot

This screenshot shows the problem. When the page is partially hidden, if I tries to submit the form in an invalid state, I will see the popup partially hidden. I don't think it could be done otherwise. What should happen in that situation?

By the way, it's interesting to see that the offset is completely ignored in that situation even if the popup didn't move. Ironically, this make the popup even more hidden (given that the offset would have move the popup on the right).

Comment 9

7 years ago
Created attachment 503998 [details]
simple testcase (window must be at left screen edge)

Updated

7 years ago
Summary: Unappropirate ASSERTION: Popup is offscreen → <input required> popup can be partially offscreen; "ASSERTION: Popup is offscreen"
(Reporter)

Comment 10

7 years ago
But I don't think there would be a way to have it inscreen given that the element can be fully offscreen.
Summary: <input required> popup can be partially offscreen; "ASSERTION: Popup is offscreen" → invalid form popup can be partially offscreen; "ASSERTION: Popup is offscreen"
(Reporter)

Comment 11

7 years ago
By the way, I get this assertion multiple times with the following test:
toolkit/content/tests/chrome/test_arrowpanel.xul
You need to log in before you can comment on or make changes to this bug.