Closed Bug 896393 Opened 11 years ago Closed 11 years ago

[Dialer] Keyboard doesnt show in apps when moved from Dialer Contact to other apps.

Categories

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

ARM
Gonk (Firefox OS)

Tracking

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

RESOLVED FIXED
1.1 QE5
blocking-b2g leo+
Tracking Status
b2g18 --- fixed
b2g-v1.1hd --- fixed

People

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

References

Details

(Whiteboard: [TD-67731] [LeoVB-])

Attachments

(1 file)

[Title] Keyboard doesnt show in apps when moved from Dialer Contact to other apps. Steps to reproduce : 1.Open Dialer >> Type >> Add contact (contact Plus) >> Click on any textfield in ADD CONTACT >> keyboard will appear 2. Press Home key 3. Open SMS >>New SMS OR Open Browser >> Click Search 4. Detailed Symptom (ENG.) : keyboard will not appear 5. GAIA Version : 7f3d9b6583aa42eb31c6d93d75715e8516475e04 6. Expected : keyboard should appear when clicked on text fields 7.Reproducibility: Y 1)Frequency Rate : 100% 8.Comparison Results : 1)Model Comparing : 9. Attached files: 1)Log : 2)Test Contents : 3)Video file :
Hi, I checked this issue.I am not sure but seems this seems to be a regression of Bug 729623 in handling keyboard for readonly element. Can you Please check this issue and give your comment. Thank You
blocking-b2g: --- → leo?
Flags: needinfo?(cjones.bugs)
This issue reminds me of Bug 874754, which should have been resolved. Can someone on this bug provide the Gecko version to reproduce this bug, so that we can verify this is a dupe. Thanks.
Flags: needinfo?(cjones.bugs)
I suspect this is an regression caused by Gaia commit 5d7a0da528dce626b563abafc135eb828599d3c0, introduced by Bug 840147 & Bug 877903. This is an app window resize issue. In this case, we will enter an early return here, so that the app window would not be resized to show the keyboard. https://github.com/mozilla-b2g/gaia/blob/c6904c7cec6a72f4d964e04b703430e4a7dbc5c4/apps/system/js/keyboard_manager.js#L51
Component: Gaia::Dialer → Gaia::System
blocking-b2g: leo? → leo+
Whiteboard: [TD-67731]
Target Milestone: --- → 1.1 QE5
The issue can still be reproduced even by reverting Fix for Bug 840147 & and Bug 877903. I am providing the STR for reproducing the issue. =================================================== 1.Open Dialer >> type >> ADD CONTACT (contact plus) >> Click "Name" in Add Contact Page (Keyboard will appear) 2.Press Home key 3.Open Browser >> Click Search >> keyboard will not appear (Repeat Steps if necessary) OR for SMS STEP 1 : same as above STEP 2 : same as above STEP 3 : Open SMS >> New SMS (keyboard will appear this time) Repeat step 1 to 3 again Keyboard will not appear.
Assignee: nobody → gduan
Attached file PR to master
This bug is due to appclose event is not triggered when inline activity is closed. It properly be a regression of bug 877903. I think the better way here is to listen to appwillopen event, and it also prevent bug 877903.
Attachment #781458 - Flags: review?(alive)
(In reply to Rudy Lu [:rudyl] from comment #3) > I suspect this is an regression caused by > Gaia commit 5d7a0da528dce626b563abafc135eb828599d3c0, introduced by Bug > 840147 & Bug 877903. > > This is an app window resize issue. > In this case, we will enter an early return here, so that the app window > would not be resized to show the keyboard. > https://github.com/mozilla-b2g/gaia/blob/ > c6904c7cec6a72f4d964e04b703430e4a7dbc5c4/apps/system/js/keyboard_manager. > js#L51 Nope. It's due to the unstable transition system now. See https://bugzilla.mozilla.org/show_bug.cgi?id=894259#c16
Alive, Great, thanks for pointing the exact root cause.
Comment on attachment 781458 [details] PR to master This is not the right way to go if you look into it more closely. I/GeckoDump( 108): setting close frame... I/GeckoDump( 108): setCloseFrame@app://system.gaiamobile.org/js/window_manager.js:232 I/GeckoDump( 108): setDisplayedApp@app://system.gaiamobile.org/js/window_manager.js:1022 I/GeckoDump( 108): @app://system.gaiamobile.org/js/window_manager.js:2135 I/GeckoDump( 108): fire@app://system.gaiamobile.org/js/hardware_buttons.js:58 I/GeckoDump( 108): homeState.process@app://system.gaiamobile.org/js/hardware_buttons.js:156 I/GeckoDump( 108): @app://system.gaiamobile.org/js/hardware_buttons.js:91 I/GeckoDump( 108): setting closeFrame... I/GeckoDump( 108): setCloseFrame@app://system.gaiamobile.org/js/window_manager.js:232 I/GeckoDump( 108): closeWindow@app://system.gaiamobile.org/js/window_manager.js:809 I/GeckoDump( 108): setDisplayedApp@app://system.gaiamobile.org/js/window_manager.js:1109 I/GeckoDump( 108): @app://system.gaiamobile.org/js/window_manager.js:2135 I/GeckoDump( 108): fire@app://system.gaiamobile.org/js/hardware_buttons.js:58 I/GeckoDump( 108): homeState.process@app://system.gaiamobile.org/js/hardware_buttons.js:156 I/GeckoDump( 108): @app://system.gaiamobile.org/js/hardware_buttons.js:91 I/GeckoDump( 108): waiting next paint of homescreen..appframe1 I/GeckoDump( 108): in waiting... I/GeckoDump( 108): [object HTMLIFrameElement]appframe0function () { I/GeckoDump( 108): [native code] I/GeckoDump( 108): } I/GeckoDump( 108): AppMonitor: [1374842583.224][app://homescreen.gaiamobile.org] I/GeckoDump( 108): -> ID: appframe0; Class List: <appWindow homescreen active> I/GeckoDump( 108): -> z-index: 3; Scale: 1; Rotate: 0 deg; CSS Visibility: visible I/GeckoDump( 108): AppMonitor: [1374842583.227][app://communications.gaiamobile.org/dialer/index.html#keyboard-view] I/GeckoDump( 108): -> ID: appframe1; Class List: <appWindow active portrait-primary> I/GeckoDump( 108): -> z-index: 4; Scale: 1; Rotate: 0 deg; CSS Visibility: visible I/GeckoDump( 108): close frame to null I/GeckoDump( 108): setting closeFrame... I/GeckoDump( 108): setCloseFrame@app://system.gaiamobile.org/js/window_manager.js:232 I/GeckoDump( 108): setDisplayedApp@app://system.gaiamobile.org/js/window_manager.js:1022 I/GeckoDump( 108): @app://system.gaiamobile.org/js/window_manager.js:1455 I/GeckoDump( 108): AppMonitor: [1374842583.452][app://homescreen.gaiamobile.org] I/GeckoDump( 108): -> ID: appframe0; Class List: <appWindow homescreen active> I/GeckoDump( 108): -> z-index: 3; Scale: 1; Rotate: 0 deg; CSS Visibility: visible I/GeckoDump( 108): AppMonitor: [1374842583.455][app://communications.gaiamobile.org/dialer/index.html#keyboard-view] I/GeckoDump( 108): -> ID: appframe1; Class List: <appWindow portrait-primary> I/GeckoDump( 108): -> z-index: 1; Scale: 0.6; Rotate: 0 deg; CSS Visibility: hidden I/GeckoDump( 108): next painted....function startClosingTransition() { I/GeckoDump( 108): dump('first checkage..'); I/GeckoDump( 108): I/GeckoDump( 108): I/GeckoDump( 108): dump('pre closing check...' + closeFrame); I/GeckoDump( 108): I/GeckoDump( 108): // We have been canceled by another transition. I/GeckoDump( 108): if (!closeFrame || transitionCloseCallback != startClosingTransition) { I/GeckoDump( 108): windowClosed(); I/GeckoDump( 108): return; I/GeckoDump( 108): } I/GeckoDump( 108): I/GeckoDump( 108): // Make sure we're not called twice. I/GeckoDump( 108): transitionCloseCallback = null; I/GeckoDump( 108): I/GeckoDump( 108): // Start the transition I/GeckoDump( 108): dump('closing...'); I/GeckoDump( 108): closeFrame.classList.add('closing'); I/GeckoDump( 108): closeFrame.classList.remove('active'); I/GeckoDump( 108): } I/GeckoDump( 108): before callback invoking.. I/GeckoDump( 108): first checkage.. I/GeckoDump( 108): pre closing check...null The root cause is closeFrame is turned into null in |startClosingTransition| callback by: setDisplayedApp(homescreen) -> stopInlineActivity(all) -> [Gecko seems activity frame are removed] -> activity-done mozChromeEvent -> setDisplayedApp() again -> setCloseFrame(null) My solution "for leo" would be call |windowClosed(closeFrame)| before replacing closeFrame to null in setCloseFrame to make sure things happen in windowClose really occur. But I haven't tried it. The more dirty alternative is having an internal timer to cancel |appClosing| state in KeyboardManager. This is the last resort to go.
Attachment #781458 - Flags: review?(alive) → review-
The two ways I addressed in previous comment are not ideal to me. Finally we should come up with a better state control for transition system. (Working on that design now. Not soon.) See https://bugzilla.mozilla.org/show_bug.cgi?id=896776 as well. Talking about another defeat of the unstable transition states.
Comment on attachment 781458 [details] PR to master Thanks for advise. This patch can fix this bug and bug 894259 for QE5 deadline being.
Attachment #781458 - Flags: review- → review?(alive)
Comment on attachment 781458 [details] PR to master See github comment. r=me from mobile..
Attachment #781458 - Flags: review?(alive) → review+
Hi Alive, I've replied your comment in github. Please also kindly check.
Flags: needinfo?(alive)
(In reply to George Duan [:gduan] from comment #13) > Hi Alive, > I've replied your comment in github. > Please also kindly check. As you said if it's problematic we could do that in another bug and fix the problems. Just merge this now.
Flags: needinfo?(alive)
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
FYI The issue is not reproducible on leo device now. I guess, it's because we have reverted the following commit on our git due to high sensor usage and voltage consumption issue. Bug 840147 & Bug 877903 : fix orientation problem on open/close app a… https://github.com/mozilla-b2g/gaia/commit/5d7a0da528dce626b563abafc135eb828599d3c0 Now, setting [LeoVB-] to this bug.
Whiteboard: [TD-67731] → [TD-67731] [LeoVB-]
Uplifted f3051f93c6b64f4855a6405791905673cf4cc5f2 to: v1-train: e0b1b717c9f6d68c9a8dd22ba127c55ce2c31350
v1.1.0hd: e0b1b717c9f6d68c9a8dd22ba127c55ce2c31350
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: