Closed
Bug 1421510
Opened 8 years ago
Closed 7 years ago
Make nsITextServicesFilter builtin class
Categories
(Core :: DOM: Editor, enhancement, P3)
Core
DOM: Editor
Tracking
()
RESOLVED
FIXED
mozilla62
People
(Reporter: m_kato, Assigned: m_kato)
References
(Blocks 1 open bug)
Details
Attachments
(3 files)
c-c and bluegriffon use nsITextServicesFilter interface, but they doesn't override and create own nsITextServicesFilter object.
So we can make nsITextServicesFilter builtin class.
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 4•7 years ago
|
||
mozreview-review |
Comment on attachment 8985669 [details]
Bug 1421510 - Part 1. Make nsITextServicesFilter builtinclass.
https://reviewboard.mozilla.org/r/251202/#review257566
Really nice!
Attachment #8985669 -
Flags: review?(masayuki) → review+
Comment 5•7 years ago
|
||
mozreview-review |
Comment on attachment 8985670 [details]
Bug 1421510 - Part 2. Use nsComposeTxtSrvFilter directly.
https://reviewboard.mozilla.org/r/251204/#review257568
::: editor/spellchecker/EditorSpellCheck.h:19
(Diff revision 1)
> #include "nsString.h" // for nsString
> #include "nsTArray.h" // for nsTArray
> #include "nscore.h" // for nsresult
>
> class mozSpellChecker;
> +class nsComposeTxtSrvFilter;
I'd be happy if it'd be renamed to mozilla::ComposeTextServiceFilter or something.
::: editor/spellchecker/EditorSpellCheck.h:61
(Diff revision 1)
>
> protected:
> virtual ~EditorSpellCheck();
>
> RefPtr<mozSpellChecker> mSpellChecker;
> - nsCOMPtr<nsITextServicesFilter> mTxtSrvFilter;
> + RefPtr<nsComposeTxtSrvFilter> mTxtSrvFilter;
Perhaps we'd rename this more specific later.
::: editor/spellchecker/TextServicesDocument.h:61
(Diff revision 1)
> nsCOMPtr<nsIContentIterator> mIterator;
> nsCOMPtr<nsIContent> mPrevTextBlock;
> nsCOMPtr<nsIContent> mNextTextBlock;
> nsTArray<OffsetEntry*> mOffsetTable;
> RefPtr<nsRange> mExtent;
> - nsCOMPtr<nsITextServicesFilter> mTxtSvcFilter;
> + RefPtr<nsComposeTxtSrvFilter> mTxtSvcFilter;
This also would be renamed to more specific name later.
::: editor/spellchecker/nsFilteredContentIterator.h:16
(Diff revision 1)
> class nsINode;
> -class nsITextServicesFilter;
> +class nsComposeTxtSrvFilter;
Put before nsINode.
::: editor/spellchecker/nsFilteredContentIterator.h:80
(Diff revision 1)
> RefPtr<nsAtom> mScriptAtom;
> RefPtr<nsAtom> mTextAreaAtom;
> RefPtr<nsAtom> mSelectAreaAtom;
> RefPtr<nsAtom> mMapAtom;
>
> - nsCOMPtr<nsITextServicesFilter> mFilter;
> + RefPtr<nsComposeTxtSrvFilter> mFilter;
This also would be renamed to more specific name later.
Attachment #8985670 -
Flags: review?(masayuki) → review+
Comment 6•7 years ago
|
||
mozreview-review |
Comment on attachment 8985671 [details]
Bug 1421510 - Part 3. Make nsITextServicesFilter.skip noscript access.
https://reviewboard.mozilla.org/r/251206/#review257572
::: commit-message-e9128:3
(Diff revision 1)
> +Bug 1421510 - Part 3. Make nsITextServicesFilter.skip noscript access. r?masayuki
> +
> +nsITextServicesFilter.skip isn't access from JavaScript (including c-c and
s/access/accessed
::: editor/spellchecker/nsComposeTxtSrvFilter.cpp:24
(Diff revision 1)
> NS_IMPL_ISUPPORTS(nsComposeTxtSrvFilter, nsITextServicesFilter)
>
> -NS_IMETHODIMP
> -nsComposeTxtSrvFilter::Skip(nsINode* aNode, bool *_retval)
> +bool
> +nsComposeTxtSrvFilter::Skip(nsINode* aNode) const
> {
> - *_retval = false;
> + if (!aNode) {
NS_WARN_IF()? Or, there is only one caller of this method and it guarantees aNode is not nullptr. So, why don't you make it nsINode&?
And also this returns true only when the node is an element node. So, how about to check aNode->IsElement() first?
::: editor/spellchecker/nsComposeTxtSrvFilter.cpp:29
(Diff revision 1)
> // For nodes that are blockquotes, we must make sure
> // their type is "cite"
I think that this comment (last 2 lines) should be moved to immediately before |if (aNode->IsHTMLElement(nsGkAtoms::blockquote))|.
::: editor/spellchecker/nsITextServicesFilter.idl:9
(Diff revision 1)
> #include "nsISupports.idl"
>
> -webidl Node;
> -
> [scriptable, builtinclass, uuid(5BEC321F-59AC-413a-A4AD-8A8D7C50A0D0)]
> interface nsITextServicesFilter : nsISupports
Hmm... Becomes empty interface...
Attachment #8985671 -
Flags: review?(masayuki) → review+
Updated•7 years ago
|
Assignee: nobody → m_kato
Status: NEW → ASSIGNED
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Pushed by m_kato@ga2.so-net.ne.jp:
https://hg.mozilla.org/integration/autoland/rev/9941588e6326
Part 1. Make nsITextServicesFilter builtinclass. r=masayuki
https://hg.mozilla.org/integration/autoland/rev/9afd36a4db26
Part 2. Use nsComposeTxtSrvFilter directly. r=masayuki
https://hg.mozilla.org/integration/autoland/rev/9222fabb7ee6
Part 3. Make nsITextServicesFilter.skip noscript access. r=masayuki
Comment 10•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/9941588e6326
https://hg.mozilla.org/mozilla-central/rev/9afd36a4db26
https://hg.mozilla.org/mozilla-central/rev/9222fabb7ee6
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
status-firefox62:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Updated•7 years ago
|
status-firefox60:
--- → wontfix
status-firefox61:
--- → wontfix
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
•