Closed Bug 1040611 Opened 10 years ago Closed 6 years ago

Move IMEngines to their own workers

Categories

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

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: timdream, Unassigned)

References

Details

It's pretty obvious all of the non-trivial IMEngine create their own worker, so it make sense to simply encapsulate them in their own worker.

This is a non-trivial arch change. I hope we can do this w/o changing the InputMehodGlue API a lot by injecting a InputMehodGlue instance inside the worker first to bridge between IMEngine and the app.

Obviously this makes key event process async, so bug 1040603 and bug 1040548 need to be addressed first.
We currently don't have any use case of using IndexedDB in the worker, but this work is probably block on that if we want to save any user data (e.g. frequency of a word, user defined word, etc.) in the engine.
Depends on: AsyncIDB
The above comment need update 

-- Latin IMEngine will rely on IndexedDB when bug 1029951 lands
-- JSPinyin already saves user dictionary into IndexedDB
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.