Files
palemoon27/editor/nsIEditorSpellCheck.idl
roytam1 71cc47fa2f import changes from `dev' branch of rmottola/Arctic-Fox:
- Bug 1208937 - Remove gfxPattern::GraphicsPatternType. r=jwatt. (eeb6dec919)
- Bug 1196927 - Force plugin BGRX image surface data to always have valid alpha. r=jrmuizel, r=BenWa (80667ce488)
- Bug 1156800: Post a task to send async NPP_New result from child to parent; r=jimm (81c40319a5)
- Bug 1194955 - Fix -Wunreachable-code warnings in dom/ipc and dom/plugins. r=jimm (939ae937a8)
- Bug 1151694 - Part 3: Manage mIsRunningOnCompositor flags for each properties respectively. r=bbirtles (3146a696cc)
- Bug 1182931 - Expose assert_unreached in subwindows. r=bbirtles (1b2e6f05b5)
- Bug 1151694 - Part 4 - Able to use testcommon.js in the window which has no opener. r=bbirtles (82bc744d44)
- Bug 1151694 - Part 0: Rewrite test_running_on_compositor.html with add_task(). r=bbirtles (2e209051e3)
- Bug 1151694 - Part 5 - Additional tests for Animation.IsRunningOnCompositor. r=bbirtles (de9858a004)
- Bug 1151694 - Part 6 - A test case of Animation.isRunningOnCompositor for transition. r=bbirtles (54bd2a22ea)
- Bug 1184377 - Move nsDocShell::PopProfileTimelineMarkers logic to ObservedDocShell, r=smaug (31e96712ac)
- Bug 1190826 - Rename "AddMarkerTo*" to "AddMarkerFor*" to reflect the new philosophy behind markers, r=tromey (b7d5ae6314)
- Bug 1152080 - Plugin configuration clip rects should be treated as visible rects. r=roc (4a18e0bd33)
- Bug 1050498 - Record compositing operations, r=jsantell,smaug,tromey (4efa28f063)
- Bug 1161900 - Use ICU normalization support during shaping if available, to support decomposable characters in more recently-encoded scripts. r=jdaggett,gps (d687a634cf)
- Bug 1164835 - Use vertical presentation forms (where available) in vertical-upright text as fallback if the font does not support the 'vert' feature. r=jdaggett (983a6f0c20)
- Bug 1139646 - Ensure gfxHarfBuzzShaper only loads the vmtx table once, to avoid leaking it. r=smontagu (72b5e2a698)
- Bug 1139888 - Check for missing glyph metrics tables. r=jdaggett (7574fdcf7b)
- Bug 1137588 - patch 1 - Read the second array in 'vmtx' correctly to get glyph vertical origins. r=jdaggett (c835835237)
- Bug 1137588 - patch 2 - Use a better default vOrigin in fonts without real vertical metrics. r=jdaggett (ad1e27029e)
- Bug 1187145 - Replace nsBaseHashtable::Enumerate() calls in gfx/ with iterators r=njn (597ff872bc)
- Bug 729993 - Use finer HarfBuzz cluster level. r=jfkthame (9b99d11def)
- missing of Bug 1148660 - Correct the handling of glyph positioning offsets in vertical-upright mode. r=jdaggett (b32d14d197)
- Bug 1178753 - Always enable async-video when OMTC is enabled. r=sotaro (c61f2a0be3)
- Bug 1164735 - Move gPrefLangToLangGroups[] inside a function to avoid a static constructor. r=jdaggett (a6a4060db9)
- Bug 1163488 - use the preprocessor to keep font lang arrays in sync. r=m_kato (6d9747d144)
- Bug 1188995 - Increase tile size to 512/1024 on OSX. r=jrmuizel,mstange (e94187af4b)
- Bug 1186661 - Use monitors-changed signal to update screen manager on GTK. r=karlt (97e0393eb6)
- Bug 1191040 - Ensure that we only compute the tile size once. r=BenWa (b954ce41ac)
- Bug 1182665 - Add gfxPlatform::GetScreenSize() and use nsIScreen for gfxPlatform::GetScreenDepth() r=nical (91a24e82ec)
- Bug 1182665 - Adjust tile sizes depending on the screen size r=nical (319945c03a)
- Bug 1173579 - Take the first valid default font. r=jdagget (d03c594b94)
- Bug 1189158 - shutdown font loader thread in separate event. r=m_kato (c497e32155)
- Bug 1189129 - annotate no default font aborts. r=bas (c20fc90269)
- Bug 1204400 - Fix -Wshadow warnings in gfx/thebes and suppress those from Skia headers. r=BenWa (435b12fbb2)
- Bug 1192699 - eliminate the two-stage system fontlist initialization under DirectWrite. r=m_kato (eb458720a1)
- Bug 1194707 - Remove the docshell param from TimelineMarker constructors, r=tromey (c77c934021)
- Bug 1195838 - Maintain all the TimelineMarker subclasses in a single place, r=tromey (c2da168977)
- Bug 697981 - Prevent reloading of spelling dictionary on unfocused editors; r=roc (ec2ed87554)
- Bug 1184249 - Remove warning if rootContent is null in nsEditorSpellCheck::UpdateCurrentDictionary. r=ehsan (8a828662d6)
- Bug 717433 - Make selected language stick, regardless of whether it partly matches (test). r=roc (38a92a487f)
- adapt Bug 717433 - Make selected language stick, regardless of whether it partly matches. r=roc (6a0d7f2a8b)
- extended Bug 1200533 - Fix spellchecker dictionary logic. r=smaug (39228d4225)
- Bug 1204147 - Prevent content preferences being written when they shouldn't. r=roc (bff4c98f6d)
- Bug 1193293 - Don't pick a new dictionary which checking. r=roc (021da43b73)
- Bug 1205983 - Remove all observer code from nsEditor. r=ehsan (aaf27ca6dc)
- Bug 1205796 - "Coverity 1323784 indicates a useless passed-by-value argument in nsEditorSpellCheck::TryDictionary". r=smaug (a60feb5f61)
- Bug 309731 - Allow document.execCommand('inserthtml') with an empty string parameter. r=ehsan (4956ee404b)
2022-08-29 09:53:04 +08:00

167 lines
5.6 KiB
Plaintext

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsISupports.idl"
interface nsIEditor;
interface nsITextServicesFilter;
interface nsIEditorSpellCheckCallback;
[scriptable, uuid(a171c25f-e4a8-4d08-adef-b797e6377bdc)]
interface nsIEditorSpellCheck : nsISupports
{
/**
* Returns true if we can enable spellchecking. If there are no available
* dictionaries, this will return false.
*/
boolean canSpellCheck();
/**
* Turns on the spell checker for the given editor. enableSelectionChecking
* set means that we only want to check the current selection in the editor,
* (this controls the behavior of GetNextMisspelledWord). For spellchecking
* clients with no modal UI (such as inline spellcheckers), this flag doesn't
* matter. Initialization is asynchronous and is not complete until the given
* callback is called.
*/
void InitSpellChecker(in nsIEditor editor, in boolean enableSelectionChecking,
[optional] in nsIEditorSpellCheckCallback callback);
/**
* When interactively spell checking the document, this will return the
* value of the next word that is misspelled. This also computes the
* suggestions which you can get by calling GetSuggestedWord.
*
* @see nsISpellChecker::GetNextMisspelledWord
*/
wstring GetNextMisspelledWord();
/**
* Used to get suggestions for the last word that was checked and found to
* be misspelled. The first call will give you the first (best) suggestion.
* Subsequent calls will iterate through all the suggestions, allowing you
* to build a list. When there are no more suggestions, an empty string
* (not a null pointer) will be returned.
*
* @see nsISpellChecker::GetSuggestedWord
*/
wstring GetSuggestedWord();
/**
* Check a given word. In spite of the name, this function checks the word
* you give it, returning true if the word is misspelled. If the word is
* misspelled, it will compute the suggestions which you can get from
* GetSuggestedWord().
*
* @see nsISpellChecker::CheckCurrentWord
*/
boolean CheckCurrentWord(in wstring suggestedWord);
/**
* Use when modally checking the document to replace a word.
*
* @see nsISpellChecker::CheckCurrentWord
*/
void ReplaceWord(in wstring misspelledWord, in wstring replaceWord, in boolean allOccurrences);
/**
* @see nsISpellChecker::IgnoreAll
*/
void IgnoreWordAllOccurrences(in wstring word);
/**
* Fills an internal list of words added to the personal dictionary. These
* words can be retrieved using GetPersonalDictionaryWord()
*
* @see nsISpellChecker::GetPersonalDictionary
* @see GetPersonalDictionaryWord
*/
void GetPersonalDictionary();
/**
* Used after you call GetPersonalDictionary() to iterate through all the
* words added to the personal dictionary. Will return the empty string when
* there are no more words.
*/
wstring GetPersonalDictionaryWord();
/**
* Adds a word to the current personal dictionary.
*
* @see nsISpellChecker::AddWordToDictionary
*/
void AddWordToDictionary(in wstring word);
/**
* Removes a word from the current personal dictionary.
*
* @see nsISpellChecker::RemoveWordFromPersonalDictionary
*/
void RemoveWordFromDictionary(in wstring word);
/**
* Retrieves a list of the currently available dictionaries. The strings will
* typically be language IDs, like "en-US".
*
* @see mozISpellCheckingEngine::GetDictionaryList
*/
void GetDictionaryList([array, size_is(count)] out wstring dictionaryList, out uint32_t count);
/**
* @see nsISpellChecker::GetCurrentDictionary
*/
AString GetCurrentDictionary();
/**
* @see nsISpellChecker::SetCurrentDictionary
*/
void SetCurrentDictionary(in AString dictionary);
/**
* Call this to free up the spell checking object. It will also save the
* current selected language as the default for future use.
*
* If you have called CanSpellCheck but not InitSpellChecker, you can still
* call this function to clear the cached spell check object, and no
* preference saving will happen.
*/
void UninitSpellChecker();
/**
* Used to filter the content (for example, to skip blockquotes in email from
* spellchecking. Call this before calling InitSpellChecker; calling it
* after initialization will have no effect.
*
* @see nsITextServicesDocument::setFilter
*/
void setFilter(in nsITextServicesFilter filter);
/**
* Like CheckCurrentWord, checks the word you give it, returning true if it's
* misspelled. This is faster than CheckCurrentWord because it does not
* compute any suggestions.
*
* Watch out: this does not clear any suggestions left over from previous
* calls to CheckCurrentWord, so there may be suggestions, but they will be
* invalid.
*/
boolean CheckCurrentWordNoSuggest(in wstring suggestedWord);
/**
* Update the dictionary in use to be sure it corresponds to what the editor
* needs. The update is asynchronous and is not complete until the given
* callback is called.
*/
void UpdateCurrentDictionary([optional] in nsIEditorSpellCheckCallback callback);
};
[scriptable, function, uuid(5f0a4bab-8538-4074-89d3-2f0e866a1c0b)]
interface nsIEditorSpellCheckCallback : nsISupports
{
void editorSpellCheckDone();
};