Closed Bug 891798 Opened 11 years ago Closed 11 years ago

[KeyBoard] Home screen appears when suggestion bar hides while changing focus from one text field to another.

Categories

(Firefox OS Graveyard :: Gaia::Keyboard, defect, P1)

ARM
Gonk (Firefox OS)
defect

Tracking

(blocking-b2g:leo+, b2g18 fixed, b2g-v1.1hd fixed)

RESOLVED FIXED
1.1 QE4 (15jul)
blocking-b2g leo+
Tracking Status
b2g18 --- fixed
b2g-v1.1hd --- fixed

People

(Reporter: leo.bugzilla.gaia, Assigned: rudyl)

References

Details

(Whiteboard: [TD-57120])

Attachments

(2 files, 1 obsolete file)

Title : Home screen appears when suggestion bar hides while changing focus from one text field to another.

STR for Master Gaia
====================

1. Open Browser >> Bookmark one websit
2. Edit Bookmark
3. Focus "Page Title" Textfield 
4. Switch focus to "ADDRESS" textfield

The Home screen flickers for a moment when word suggestion Hides.
This is a follow up for bug 863680.
blocking-b2g: --- → leo+
Target Milestone: 1.1 QE4 (15jul) → 1.1 QE5
Hi Rudy, 
Can you Please review this attached patch.

Thank you.
Attachment #773334 - Flags: review?(rlu)
Assignee: nobody → leo.bugzilla.gaia
Comment on attachment 773334 [details] [diff] [review]
Patch for word Suggestion Hides without Home screen

Review of attachment 773334 [details] [diff] [review]:
-----------------------------------------------------------------

From my point of view, this patch simply makes us always do: 
  1. update the window height via changing the hash of keyboard url
  2. Render the keyboard itself

From my test, this issue would only occur on browser app and homescreen app. and in these cases, we would receive 2 onfocuschange events.
And we will do renderKeyboard() twice, which would trigger the reset of candidatePanelEnabled flag.

That's why when this patch always keep candidatePanelEnabled as true, we can workaround this issue.
While we are still not sure of the root cause of the "2 onfocuschange events", 
I would recommend we get rid of the candidatePanelEnabled flag approach, do the above step 1 and step 2 all the time.

--
I'll clear the review flag.
Please reset it if you have an updated patch. Thanks.
Attachment #773334 - Flags: review?(rlu)
Thanks Rudy for review,
I observed there is more than one "onfocuschang event" which calls
render keyboard more than once which is the root cause.
I am not sure about root cause of "2 onfocuschange event"

Rudy, can you please look into this issue.
Assigning it to Rudy.
Assignee: leo.bugzilla.gaia → rlu
Priority: P2 → P1
Whiteboard: [TD-57120]
Hi Rudy,
I have made workaround for multiple focus problem.
Please review it and if its require changes,then please
make a patch to solve this issue.

Thank you
Attachment #773334 - Attachment is obsolete: true
Attachment #775527 - Flags: review?(rlu)
leo you're still the assignee.
Assignee: rlu → leo.bugzilla.gaia
Comment on attachment 775527 [details] [diff] [review]
Patch for word Suggestion Hides without Home screen

Review of attachment 775527 [details] [diff] [review]:
-----------------------------------------------------------------

I think this approach did not consider the case that when we switch from one input to another input with the same type and inputmode.
(and the "states", such as its input value, might be different)

I am going to steal this bug and provide a patch to workaround the duplicate focuschange events.
Attachment #775527 - Flags: review?(rlu) → review-
Assignee: leo.bugzilla.gaia → rlu
Target Milestone: 1.1 QE5 → 1.1 QE4 (15jul)
Hi Jan,

Could you help review this patch to workaround Bug 893755?

[Root Cause]
The original code would do:
 1. When the candidate panel is not needed and it was shown with last keyboard layout, notify keyboard manager first (for window resize) and then redraw the keyboard.
 
However, with duplicate onfocuschange, this logic cannot work:

 1. 1st onfocuschange after switching the focus to an input which doesn't need suggestion 
    1.a As the original design goes, will delay the keyboard drawing 
    1.b candidatePanelEnabled will be changed false.  

 2. the (buggy) 2nd onfocuschange comes,
    2.a candidatePanelEnabled is false, so it will redraw the keyboard immediately, which happened earlier than 1.a
      => caused the issue

[Workaround]
1. Always do the delay when
 - No need to show candidate panel
 - The keyboard has been shown

Thanks.
Attachment #775626 - Flags: review?(janjongboom)
Depends on: 893755
I can still reproduce this (b0bc257a26d9b6660af519658baad0928496713c). Flashed gaia to my GP Keon, go into edit bookmarks and start tapping both inputs very fast (one after another). There are still cases where the resizing is not in sync..
Attachment #775626 - Flags: review?(janjongboom) → review-
I think it might be caused when you have 2 render actions that happen right after each other or something.
Comment on attachment 775626 [details]
Patch V1 - pull request 10977

Hi Jan,

Thanks for finding out this case.
I just updated the patch trying to address this issue.

Could you please review it again?
(the 2nd commit, will squash them if it got r+)
Attachment #775626 - Flags: review- → review?(janjongboom)
Comment on attachment 775626 [details]
Patch V1 - pull request 10977

If you go completely bezerk it might take 1-2 seconds for the right keyboard to pop up but that's something else, probably CPU bound with the way we do rendering, but the homescreen never shows anymore. r=janjongboom
Attachment #775626 - Flags: review?(janjongboom) → review+
Merged to Gaia master,
acf2693cb24fbb3eb1185ee2a9f612e71870f047

v1-train,
fb9362d34260771d4a00b9a0e10a6bbad397bd3b
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
v1.1.0hd: fb9362d34260771d4a00b9a0e10a6bbad397bd3b
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: