Closed Bug 811509 Opened 12 years ago Closed 12 years ago

login.persona.org does not repaint email text field until user manually resizes the web page (layerizing for scrollable items breaks rendering sometimes)

Categories

(Firefox OS Graveyard :: General, defect, P1)

All
Gonk (Firefox OS)
defect

Tracking

(blocking-basecamp:+, b2g18 fixed)

RESOLVED FIXED
B2G C4 (2jan on)
blocking-basecamp +
Tracking Status
b2g18 --- fixed

People

(Reporter: cpeterson, Assigned: jrmuizel)

References

Details

(Whiteboard: [b2g-gfx])

Attachments

(2 files)

STR:
1. Open https://login.persona.org
2. Tap "Sign In" button
3. When keyboard opens, enter an email address
4. RESULT: No text is displayed in the text field!

5. Pinch the web page to manually resize it
6. RESULT: The email address in the text field is now visible!
Could have sworn there was a bug on file for this, but I'm failing to find this.
blocking-basecamp: --- → ?
Component: Gaia::Browser → General
Whiteboard: DUPEME
Is this still a problem?  What device, what build?  Seems to work on my unagi, Dec 6 build, beta channel.
(In reply to Milan Sreckovic from comment #2)
> Is this still a problem?  What device, what build?  Seems to work on my
> unagi, Dec 6 build, beta channel.

I think this happened for me on a more recent build, but I can go check again.
Flags: needinfo?(jsmith)
Keywords: qawanted
I can reproduce this with a 2012-12-17 build.  Chris, is this something you can work on?
Flags: needinfo?(jsmith) → needinfo?(cpeterson)
I think this is a painting bug, not a keyboard bug. I don't have time to investigate further at the moment..
Flags: needinfo?(cpeterson)
Jeff, can you see if we can get the regression window?
Assignee: nobody → jmuizelaar
Whiteboard: DUPEME → DUPEME [b2g-gfx]
blocking-basecamp: ? → +
Keywords: regression
(In reply to Jason Smith [:jsmith] from comment #3)
> (In reply to Milan Sreckovic from comment #2)
> > Is this still a problem?  What device, what build?  Seems to work on my
> > unagi, Dec 6 build, beta channel.
> 
> I think this happened for me on a more recent build, but I can go check
> again.

Well, either I was dreaming or the site changed, but my phone now fails as well with 20121206...
Removing the regression flag, not sure that it actually is.
Keywords: regression
Attached file Reduced test case
This reduced test case shows the same problem.
Keywords: qawanted
This only seems to happen with 13pt font.
(In reply to Jeff Muizelaar [:jrmuizel] from comment #10)
> This only seems to happen with 13pt font.

13px I mean.
Adding a few others who might have ideas.
Some more interesting information: If the height of the text box is explicitly set the problem does not occur. However, I was not able to explicitly set the height of the text box to a height that matched the intrinsic-height.

We also do seem to be drawing the text, it's just not showing up for some reason. Either it's clipped out or we draw something on top of it. I haven't figured out which yet.
bug 818575 has more content in it.   People are working on it in core.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → DUPLICATE
Whiteboard: DUPEME [b2g-gfx] → [b2g-gfx]
I'm not convinced this is a dup.

We seem to be painting the text in the wrong place i.e in both cases (working and not)
we paint the glyph at y position of 23. In the broken case it ends up being adjusted to 13. This is happening because there's a CTM on the cairo_context of -10. I'm not sure why yet though.
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Target Milestone: --- → B2G C3 (12dec-1jan)
jeff, any update since you last looked at this?
(In reply to Faramarz (:faramarz) from comment #17)
> jeff, any update since you last looked at this?

No. I've been on vacation.
The difference in translation comes from FrameLayerBuilder::DrawThebesLayer:3268
aContext->Translate(aLayer->GetResidualTranslation() - gfxPoint(offset.x, offset.y))

In this case offset is different between a text field that works and one that doesn't.

The layer bounds are also different between the two cases. In the working case the bounds seem to be the entire page. In the non-working case it seems limited to the textbox.
We are indeed creating an additional layer for the text. We appear to be doing so because a display port is set on the content because we need to be able to scroll it.
So we're triggering this bug because we build a layer when we hit this case http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsGfxScrollFrame.cpp#2089

So that explains what's special about this text box. Next I'll try to figure out why the rendering goes wrong.
Depends on: 825692
This reproduces the problem by using overflow:auto on a div.
Summary: login.persona.org does not repaint email text field until user manually resizes the web page → login.persona.org does not repaint email text field until user manually resizes the web page (layerizing for scrollable items breaks rendering sometimes)
Target Milestone: B2G C3 (12dec-1jan) → B2G C4 (2jan on)
Priority: -- → P1
I'm closing this and have opened a new bug 826378 for the remaining problem.
Status: REOPENED → RESOLVED
Closed: 12 years ago12 years ago
Resolution: --- → FIXED
So Faramarz and I ran into this issue after this patch landed with Twitter and the IBahn site at the hotel. Is this really fixed? I'm going to double check again, otherwise, I'll file a followup.
Definitely confirmed it's happening on Twitter's sign on page with today's build. Followup coming.
Depends on: 827144
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: