AccessibleCaret: Difference between revisions
Jump to navigation
Jump to search
m (Tlin moved page Copy n Paste to AccessibleCaret: AccessibleCarte does not deal with copy and paste on platforms other that b2g) |
|
(No difference)
| |
Revision as of 07:32, 10 August 2016
AccessiblCaret (aka Copy & Paste)
The copy & paste feature includes selection manipulation by the carets implemented in gecko, and UI buttons (select-all, cut, copy, paste) implemented in Gaia.
Developers
- Ting-Yu Lin <tlin@mozilla.com>
- Morris Tseng <mtseng@mozilla.com>
- Jeremy Chen <jeremychen@mozilla.com>
- Boris Chiou <boris@mozilla.com>
UX Specification
- bug 921965 - [Keyboard][User Story] Text Selection (editable text)
Current gecko implementation
Open question/Known issues
- Support vertical text
- bug 1217757 - Update text selection spec for vertical writing mode
- bug 1217841 - Text-selection indicators (carets) should be oriented sideways when the text has vertical writing-mode
Feature Preference
layout.accessiblecaret.enabled(Enabled on Fennec since 48 and B2G)layout.accessiblecaret.enabled_on_touch(Enabled on Firefox Nighly on platforms with touch support)
Tracking Bugs
- bug 1124074 - Bug 1124074 - (AccessibleCaret) [META] AccessibleCaret and text selection/copy/paste on Fennec and B2G
AccessibleCaretEventHub State Transition Diagram
- This graph depicts only the events and callbacks which involves state transitions. Callbacks such as
NotifySelectionChangedorReflowwhich does not cause a state transition are omitted. - Mapping from real events or callback to actions which depict on the edge of the diagram:
| Real events or callbacks | Actions |
|---|---|
eMouseDown or eTouchStart |
Press |
eMouseMove or eTouchMove |
Move |
eMouseUp or eTouchEnd or eTouchCancel |
Release |
eMouseLongTap |
Long tap |
AsyncPanZoomStarted() |
Scroll start |
AsyncPanZoomStopped() |
Scroll end |
NotifyBlur() |
Blur |
Debug Tips
- Gecko
- To dump AccessibleCaret log, export
NSPR_LOG_MODULES=AccessibleCaret:5. Or open about:config and add a pref "logging.AccessibleCaret" with value "debug" or "verbose" (case matters). - To print log, use
AC_LOG()macro.
- To dump AccessibleCaret log, export
- Gaia
- To dump text selection dialog log, change the variable
DEBUG=truein apps/system/js/app_text_selection_dialog.js. - To print log, use
this.debug()
- To dump text selection dialog log, change the variable
Legacy gecko implementation on B2G branch v2.2
TouchCaret and SelectionCarets are currently being deployed on B2G v2.2.
Tracking Bugs
- bug 1023688 - (CopyPasteLegacy) [META] TouchCaret & SelectionCarets, and text selection/copy/paste support on B2G v2.2
Feature preferences
- For displaying one caret when selection is collapsed:
touchcaret.enabled - For displaying two carets when selection is non-collapsed:
selectioncaret.enabled