Closed Bug 791036 Opened 13 years ago Closed 13 years ago

Intermittent failure to change the value of the currently selected <select> field in a mozbrowser frame

Categories

(Firefox OS Graveyard :: General, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(blocking-basecamp:+)

VERIFIED FIXED
blocking-basecamp +

People

(Reporter: jsmith, Assigned: cyu)

References

Details

(Whiteboard: [LOE:M])

Attachments

(2 files)

Attached file Logcat
Followup to bug 781438. On today's build (9/13) on device, we still intermittently fail to change the value of the currently selected <select> field in a mozbrowser frame. Error message seen in the logcat is below: E/GeckoConsole( 105): [JavaScript Error: "NS_ERROR_NOT_INITIALIZED: Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED) [nsIMessageSender.sendAsyncMessage]" {file: "jar:file:///system/b2g/omni.ja!/components/MozKeyboard.js" line: 69}]
Blocks: 781438
blocking-basecamp: --- → ?
Assignee: nobody → cyu
blocking-basecamp: ? → +
Whiteboard: [LOE:M]
STR: - Open UI test app. - Go back to home and open another app (e.g. Dialier). - Go back to home and open UI test app. Select is not working. To reproduce the JavaScript Error, quit the other app and go back to the first app. The value selector will cause the above error when clicking OK.
We need to handle the multiple apps that can trigger value selector. The problem is we save the message manager on app start, so when we open 2 apps and then switch back to the first app, this._messageManager still points to the 2nd app's mm. The patch registers separate closures with each message manager and switches this._messageManager when an app triggers the value selector.
Attachment #662866 - Flags: review?(21)
Comment on attachment 662866 [details] [diff] [review] Fix MozKeyboard for value selector only working on the last opened app. I found this patch might need further modification during my verification. If the last "Forms:Input" is not triggered by a forms.js which holds the focused element, this._messageManager.sendAsyncMessage() will still send message to a forms.js that has no previousTarget.
This appears to be a separate issue. The value selector shouldn't allow the user to click through it to the underlying app to trigger the blur event.
Test on try: https://tbpl.mozilla.org/?tree=Try&rev=f4bfc137d580 No added automatic test since the STR involves multiple apps.
Keywords: checkin-needed
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Keywords: verifyme
QA Contact: jsmith
Status: RESOLVED → VERIFIED
Keywords: verifyme
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: