Closed
Bug 1430982
Opened 7 years ago
Closed 7 years ago
Make EditorBase not treat nsTextServicesDocument for mInlineSpellChecker as nsIEditActionListener
Categories
(Core :: DOM: Editor, defect)
Core
DOM: Editor
Tracking
()
RESOLVED
FIXED
mozilla60
Tracking | Status | |
---|---|---|
firefox60 | --- | fixed |
People
(Reporter: masayuki, Assigned: masayuki)
References
(Blocks 2 open bugs)
Details
Attachments
(10 files)
(deleted),
text/x-review-board-request
|
m_kato
:
review+
|
Details |
(deleted),
text/x-review-board-request
|
m_kato
:
review+
|
Details |
(deleted),
text/x-review-board-request
|
m_kato
:
review+
|
Details |
(deleted),
text/x-review-board-request
|
m_kato
:
review+
|
Details |
(deleted),
text/x-review-board-request
|
m_kato
:
review+
|
Details |
(deleted),
text/x-review-board-request
|
m_kato
:
review+
|
Details |
(deleted),
text/x-review-board-request
|
m_kato
:
review+
|
Details |
(deleted),
text/x-review-board-request
|
m_kato
:
review+
|
Details |
(deleted),
text/x-review-board-request
|
m_kato
:
review+
|
Details |
(deleted),
text/x-review-board-request
|
m_kato
:
review+
|
Details |
No description provided.
Assignee | ||
Comment 1•7 years ago
|
||
Assignee | ||
Comment 2•7 years ago
|
||
Assignee | ||
Comment 3•7 years ago
|
||
Hmm. nsEditorSpellChecker can be created by JS. Then, editor may be associated with 2 or more nsTextServicesDocument. However, this is really rare case. So, we should optimize performance for the case that there is only one nsTextServicesDocument is associated.
Assignee | ||
Comment 4•7 years ago
|
||
Assignee | ||
Comment 5•7 years ago
|
||
Assignee | ||
Comment 6•7 years ago
|
||
Assignee | ||
Comment 7•7 years ago
|
||
Assignee | ||
Comment 8•7 years ago
|
||
Assignee | ||
Comment 9•7 years ago
|
||
Assignee | ||
Updated•7 years ago
|
Summary: Make nsTextServicesDocument not derived from nsIEditActionListener → Make EditorBase treat nsTextServicesDocument for mInlineSpellChecker as nsIEditActionListener
Assignee | ||
Updated•7 years ago
|
Summary: Make EditorBase treat nsTextServicesDocument for mInlineSpellChecker as nsIEditActionListener → Make EditorBase not treat nsTextServicesDocument for mInlineSpellChecker as nsIEditActionListener
Assignee | ||
Comment 10•7 years ago
|
||
FYI:
nsTextServicesDocument is owned by mozSpellChecker, mozSpellChecker is owned by nsEditorSpellCheck, nsEditorSpellCheck is owned by mozInlineSpellChecker, mozInlineSpellChecker is owned by EditorBase in most cases.
Some exceptions are, some classes can be created from chrome JS. Actually, composer UI of comm-central creates nsEditorSpellCheck (although I'm not sure it's alive): https://searchfox.org/comm-central/source/editor/ui/dialogs/content/EdSpellCheck.js#26
Current goal of this bug is, making nsTextServicesDocument for EditorBase::mInlineSpellChecker is not added to the edit action listener array. Instead, called its methods directly.
Assignee | ||
Comment 11•7 years ago
|
||
And note that there is a bug of releasing above class instances when EditorBase becomes disabling spell check. When it becomes disabled, mozInlineSpellChecker releases nsEditorSpellCheck. However, if its refcount doesn't become 0, it keeps objects but if tried to clear them from mozInlineSpellChecker, that causes new crashes caused by nullptr access in some automated tests. I don't want to struggle with it in this bug. Therefore, coming patches hack EditorBase::AddEditActionListener(). I think that this won't make damage to initializing performance because it's not called so many times.
Assignee | ||
Comment 12•7 years ago
|
||
Assignee | ||
Comment 13•7 years ago
|
||
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 24•7 years ago
|
||
mozreview-review |
Comment on attachment 8943794 [details]
Bug 1430982 - part 1: Make nsTextServicesDocument store editor with RefPtr<TextEditor> rather than nsWeakPtr
https://reviewboard.mozilla.org/r/214078/#review219930
Attachment #8943794 -
Flags: review?(m_kato) → review+
Comment 25•7 years ago
|
||
mozreview-review |
Comment on attachment 8943795 [details]
Bug 1430982 - part 2: Rename nsTextServicesDocument to mozilla::TextServicesDocument and expose its header
https://reviewboard.mozilla.org/r/214080/#review219932
Attachment #8943795 -
Flags: review?(m_kato) → review+
Comment 26•7 years ago
|
||
mozreview-review |
Comment on attachment 8943796 [details]
Bug 1430982 - part 3: Make mozSpellChecker and nsEditorSpellChecker treat TextServicesDocument directly rather than nsITextServicesDocument
https://reviewboard.mozilla.org/r/214082/#review219936
Attachment #8943796 -
Flags: review?(m_kato) → review+
Comment 27•7 years ago
|
||
mozreview-review |
Comment on attachment 8943797 [details]
Bug 1430982 - part 4: Get rid of nsITextServicesDocument because it used by nobody
https://reviewboard.mozilla.org/r/214084/#review219938
Attachment #8943797 -
Flags: review?(m_kato) → review+
Comment 28•7 years ago
|
||
mozreview-review |
Comment on attachment 8943798 [details]
Bug 1430982 - part 5: Make nsEditorSpellCheck store mozSpellChecker directly rather than nsISpellChecker
https://reviewboard.mozilla.org/r/214086/#review219940
Attachment #8943798 -
Flags: review?(m_kato) → review+
Comment 29•7 years ago
|
||
mozreview-review |
Comment on attachment 8943799 [details]
Bug 1430982 - part 6: Rename nsEditorSpellCheck to mozilla::EditorSpellCheck and expose its header
https://reviewboard.mozilla.org/r/214088/#review219946
Attachment #8943799 -
Flags: review?(m_kato) → review+
Comment 30•7 years ago
|
||
mozreview-review |
Comment on attachment 8943800 [details]
Bug 1430982 - part 7: Make mozInlineSpellChecker store EditorSpellCheck directly rather than nsIEditorSpellCheck
https://reviewboard.mozilla.org/r/214090/#review219948
Attachment #8943800 -
Flags: review?(m_kato) → review+
Comment 31•7 years ago
|
||
mozreview-review |
Comment on attachment 8943801 [details]
Bug 1430982 - part 8: Make EditorBase store inline spell checker as mozInlineSpellChecker rather than nsIInlineSpellChecker
https://reviewboard.mozilla.org/r/214092/#review219950
Attachment #8943801 -
Flags: review?(m_kato) → review+
Comment 32•7 years ago
|
||
mozreview-review |
Comment on attachment 8943803 [details]
Bug 1430982 - part 10: Make EditorBase store TextServicesDocument for its mInlineSpellChecker for avoiding to run for loops to call nsIEditActionListener methods
https://reviewboard.mozilla.org/r/214096/#review219966
Attachment #8943803 -
Flags: review?(m_kato) → review+
Comment 33•7 years ago
|
||
mozreview-review |
Comment on attachment 8943802 [details]
Bug 1430982 - part 9: Create accessors for each member of mozSpellChecker, EditorSpellCheck, mozInlineSpellChecker
https://reviewboard.mozilla.org/r/214094/#review219968
Attachment #8943802 -
Flags: review?(m_kato) → review+
Comment 35•7 years ago
|
||
Pushed by masayuki@d-toybox.com:
https://hg.mozilla.org/integration/autoland/rev/44be45cf31b4
part 1: Make nsTextServicesDocument store editor with RefPtr<TextEditor> rather than nsWeakPtr r=m_kato
https://hg.mozilla.org/integration/autoland/rev/1e9838519ff1
part 2: Rename nsTextServicesDocument to mozilla::TextServicesDocument and expose its header r=m_kato
https://hg.mozilla.org/integration/autoland/rev/05408b857941
part 3: Make mozSpellChecker and nsEditorSpellChecker treat TextServicesDocument directly rather than nsITextServicesDocument r=m_kato
https://hg.mozilla.org/integration/autoland/rev/0901d6f8322f
part 4: Get rid of nsITextServicesDocument because it used by nobody r=m_kato
https://hg.mozilla.org/integration/autoland/rev/2e02cfe32f94
part 5: Make nsEditorSpellCheck store mozSpellChecker directly rather than nsISpellChecker r=m_kato
https://hg.mozilla.org/integration/autoland/rev/2398b267741b
part 6: Rename nsEditorSpellCheck to mozilla::EditorSpellCheck and expose its header r=m_kato
https://hg.mozilla.org/integration/autoland/rev/c27c6e2b0494
part 7: Make mozInlineSpellChecker store EditorSpellCheck directly rather than nsIEditorSpellCheck r=m_kato
https://hg.mozilla.org/integration/autoland/rev/d0270ad1df87
part 8: Make EditorBase store inline spell checker as mozInlineSpellChecker rather than nsIInlineSpellChecker r=m_kato
https://hg.mozilla.org/integration/autoland/rev/4ef85ad5bf42
part 9: Create accessors for each member of mozSpellChecker, EditorSpellCheck, mozInlineSpellChecker r=m_kato
https://hg.mozilla.org/integration/autoland/rev/ff3e5fd4c725
part 10: Make EditorBase store TextServicesDocument for its mInlineSpellChecker for avoiding to run for loops to call nsIEditActionListener methods r=m_kato
Comment 36•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/44be45cf31b4
https://hg.mozilla.org/mozilla-central/rev/1e9838519ff1
https://hg.mozilla.org/mozilla-central/rev/05408b857941
https://hg.mozilla.org/mozilla-central/rev/0901d6f8322f
https://hg.mozilla.org/mozilla-central/rev/2e02cfe32f94
https://hg.mozilla.org/mozilla-central/rev/2398b267741b
https://hg.mozilla.org/mozilla-central/rev/c27c6e2b0494
https://hg.mozilla.org/mozilla-central/rev/d0270ad1df87
https://hg.mozilla.org/mozilla-central/rev/4ef85ad5bf42
https://hg.mozilla.org/mozilla-central/rev/ff3e5fd4c725
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
status-firefox60:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla60
Assignee | ||
Updated•5 years ago
|
Blocks: redesign-editor-scriptable-API
You need to log in
before you can comment on or make changes to this bug.
Description
•