Closed
Bug 805766
Opened 13 years ago
Closed 13 years ago
[TSF] TSF isn't available on designMode editor
Categories
(Core :: Internationalization, defect)
Tracking
()
RESOLVED
FIXED
mozilla19
People
(Reporter: masayuki, Assigned: masayuki)
References
()
Details
(Keywords: inputmethod)
Attachments
(3 obsolete files)
TSF isn't available on designMode editor if focus is moved from another document. If Fx is activated when designMode editor has focus, then, it's available.
The cause is nsFocusManager doesn't call nsIMEStateManager::OnFocusChange() from here:
http://mxr.mozilla.org/mozilla-central/source/dom/base/nsFocusManager.cpp#1766
Then, nsIMEStateManager will try to create nsTextStateManager with old focused presContext and fail it.
| Assignee | ||
Updated•13 years ago
|
Status: NEW → ASSIGNED
| Assignee | ||
Comment 2•13 years ago
|
||
I found a bug when I wrote the tests. checkbox, radio button, file input and both types of <select> are focusable even in contenteditable element, but focus event is never fired on the elements.
Attachment #676838 -
Flags: review?(enndeakin)
Comment 3•13 years ago
|
||
Comment on attachment 676838 [details] [diff] [review]
Patch
You shouldn't be calling CheckIfFocusable here as it can be expensive as it flushes (see bug 792297). You don't need to though, as it should always return true.
Attachment #676838 -
Flags: review?(enndeakin) → review-
| Assignee | ||
Comment 4•13 years ago
|
||
Is this enough?
Attachment #676838 -
Attachment is obsolete: true
Attachment #677358 -
Flags: review?(enndeakin)
Comment 5•13 years ago
|
||
I'm a bit unclear what this patch is doing. The code you changed only focuses the document and may not focus aContent, yet you pass aContent to OnChangeFocus. Did you mean to pass null?
| Assignee | ||
Comment 6•13 years ago
|
||
(In reply to Neil Deakin from comment #5)
> I'm a bit unclear what this patch is doing. The code you changed only
> focuses the document and may not focus aContent, yet you pass aContent to
> OnChangeFocus. Did you mean to pass null?
Ah, okay. How about this.
The problem is, editor's focus event handler try creating nsTextStateManager instance. At this time, IME state must match with the new IME state which is expected by the new focused content.
If the getting focus editor is a designMode editor, the document's focus event would be used by the editor for doing above. At this time, the blurred content is stored in nsIMEStateManager since nsFocusManager doesn't call nsIMEStateManager::OnFocusChange() before dispatching the focus event of document.
Attachment #677358 -
Attachment is obsolete: true
Attachment #677358 -
Flags: review?(enndeakin)
Attachment #677678 -
Flags: review?(enndeakin)
Updated•13 years ago
|
Attachment #677678 -
Flags: review?(enndeakin) → review+
| Assignee | ||
Comment 7•13 years ago
|
||
Target Milestone: --- → mozilla19
Comment 8•13 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Comment 9•13 years ago
|
||
This seems to have caused bug 808287, which is pretty serious. I've backed this patch out for now to see if the backout fixes bug 808287.
https://hg.mozilla.org/integration/mozilla-inbound/rev/70f7e6ce95b8
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment 10•13 years ago
|
||
(In reply to Ehsan Akhgari [:ehsan] from comment #9)
> This seems to have caused bug 808287, which is pretty serious. I've backed
> this patch out for now to see if the backout fixes bug 808287.
>
> https://hg.mozilla.org/integration/mozilla-inbound/rev/70f7e6ce95b8
Merge of backout:
https://hg.mozilla.org/mozilla-central/rev/70f7e6ce95b8
Comment 11•13 years ago
|
||
Check-in of patch posted in Bug 808287,
https://hg.mozilla.org/integration/mozilla-inbound/rev/b6bd99bf0c1f
Updated•13 years ago
|
Attachment #677678 -
Attachment is obsolete: true
Comment 12•13 years ago
|
||
Status: REOPENED → RESOLVED
Closed: 13 years ago → 13 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•