Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extract core input method engine into an XPCOM service #20

Closed
1ec5 opened this issue Jan 26, 2014 · 2 comments
Closed

Extract core input method engine into an XPCOM service #20

1ec5 opened this issue Jan 26, 2014 · 2 comments
Assignees

Comments

@1ec5
Copy link
Owner

1ec5 commented Jan 26, 2014

AVIM loads tons and tons of code into every single window. It’s a huge waste and possibly a big performance issue. Mozilla has suggested that we shove everything into a JavaScript module (.jsm), but that would break support for older browsers like Firefox 2.x. (Do we care?) Alternatively, we could move everything into an XPCOM service, which would work in every application AVIM supports.

@1ec5
Copy link
Owner Author

1ec5 commented Aug 20, 2014

  • Create separate XPCOM service for string transformations
  • Extract DOM-manipulating code from core string manipulating functions
  • Move string manipulating functions to XPCOM service
  • Escape Unicode characters in string literals :-(
  • Prevent string manipulating functions from maintaining any state, to avoid possible leaks in older Firefoxes
  • Fix regressions in plain text editing
  • Fix regressions in rich text editing
  • Fix regressions in editor adapters
  • Fix regressions in earlier Firefoxes

1ec5 added a commit that referenced this issue Aug 23, 2014
1ec5 added a commit that referenced this issue Aug 23, 2014
Migrated Midas support to the transformer service, plus SpliceTxn for proper undo/redo support. Moved editor-specific logic from previously expedient funnels to the editors’ handlers, where it belongs.

Fixes #2, #3. Ref #20.
@1ec5
Copy link
Owner Author

1ec5 commented Aug 24, 2014

Landed in f87e7d0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant