Bug 1469759 - Part 3. Remove unused methods of mozISpellI18NUtil. r?masayuki draft
authorMakoto Kato <m_kato@ga2.so-net.ne.jp>
Mon, 02 Jul 2018 11:21:28 +0900
changeset 816410 149847a68bd8512bf97dc3818d40bab80d92c33b
parent 814784 160ace2fbd752c12923a59576bb2273f5bf74030
child 816411 fe2c2572dac496d7935af8673eaea61a4983b24b
push id115836
push userbmo:m_kato@ga2.so-net.ne.jp
push dateWed, 11 Jul 2018 07:12:16 +0000
reviewersmasayuki
bugs1469759
milestone63.0a1
Bug 1469759 - Part 3. Remove unused methods of mozISpellI18NUtil. r?masayuki Some methods in mozISpellI18NUtil are unused now. MozReview-Commit-ID: Ku9FojuJW3T
extensions/spellcheck/idl/mozISpellI18NUtil.idl
extensions/spellcheck/src/mozEnglishWordUtils.cpp
extensions/spellcheck/src/mozEnglishWordUtils.h
--- a/extensions/spellcheck/idl/mozISpellI18NUtil.idl
+++ b/extensions/spellcheck/idl/mozISpellI18NUtil.idl
@@ -7,41 +7,15 @@
 
 [scriptable, uuid(B075D5DC-1DF1-441A-BEBF-680D8CAAA19C)]
 
 /**
  * This interface contains various I18N related code used in various places by the spell checker.
  */
 
 interface mozISpellI18NUtil : nsISupports {
-
-    const uint32_t kCheck=0;
-    const uint32_t kSuggest=1;
-
-   /**
-    * The language being used to check spelling
-    */
-    readonly attribute wstring language;
-    
-   /**
-    * Given a word return a list of possible root forms of that word
-    */
-    void getRootForm(in wstring word,
-                     in uint32_t type,
-                     [array, size_is(count)] out wstring words,
-                     out uint32_t count);
-    
-   /**
-    * Given a word return a list of possible root forms of that word
-    */
-    void fromRootForm(in wstring word,
-                      [array, size_is(icount)] in wstring iwords,
-                      in uint32_t icount,
-                      [array, size_is(ocount)] out wstring owords,
-                      out uint32_t ocount);
-    
     /**
      * Given a unicode string and an offset, find the beginning and end of the
      * next word. begin and end are -1 if there are no words remaining in the 
      * string. This should really be folded into the Line/WordBreaker.
      */
     void findNextWord(in wstring word, in uint32_t length, in uint32_t offset, out int32_t begin, out int32_t end); 
 };
--- a/extensions/spellcheck/src/mozEnglishWordUtils.cpp
+++ b/extensions/spellcheck/src/mozEnglishWordUtils.cpp
@@ -21,122 +21,28 @@ NS_INTERFACE_MAP_BEGIN(mozEnglishWordUti
   NS_INTERFACE_MAP_ENTRIES_CYCLE_COLLECTION(mozEnglishWordUtils)
 NS_INTERFACE_MAP_END
 
 NS_IMPL_CYCLE_COLLECTION(mozEnglishWordUtils,
                          mURLDetector)
 
 mozEnglishWordUtils::mozEnglishWordUtils()
 {
-  mLanguage.AssignLiteral("en");
-
-  nsresult rv;
-  mURLDetector = do_CreateInstance(MOZ_TXTTOHTMLCONV_CONTRACTID, &rv);
+  mURLDetector = do_CreateInstance(MOZ_TXTTOHTMLCONV_CONTRACTID);
 }
 
 mozEnglishWordUtils::~mozEnglishWordUtils()
 {
 }
 
-NS_IMETHODIMP mozEnglishWordUtils::GetLanguage(char16_t * *aLanguage)
-{
-  NS_ENSURE_ARG_POINTER(aLanguage);
-
-  *aLanguage = ToNewUnicode(mLanguage);
-  if (!*aLanguage) {
-    return NS_ERROR_OUT_OF_MEMORY;
-  }
-  return NS_OK;
-}
-
-// return the possible root forms of aWord.
-NS_IMETHODIMP mozEnglishWordUtils::GetRootForm(const char16_t *aWord, uint32_t type, char16_t ***words, uint32_t *count)
-{
-  nsAutoString word(aWord);
-  char16_t **tmpPtr;
-  int32_t length = word.Length();
-
-  *count = 0;
-
-  mozEnglishWordUtils::myspCapitalization ct = captype(word);
-  switch (ct)
-    {
-    case HuhCap:
-    case NoCap:
-      tmpPtr = (char16_t **)moz_xmalloc(sizeof(char16_t *));
-      if (!tmpPtr)
-        return NS_ERROR_OUT_OF_MEMORY;
-      tmpPtr[0] = ToNewUnicode(word);
-      if (!tmpPtr[0]) {
-        NS_FREE_XPCOM_ALLOCATED_POINTER_ARRAY(0, tmpPtr);
-        return NS_ERROR_OUT_OF_MEMORY;
-      }
-      *words = tmpPtr;
-      *count = 1;
-      break;
-
+// This needs vast improvement
 
-    case AllCap:
-      tmpPtr = (char16_t **)moz_xmalloc(sizeof(char16_t *) * 3);
-      if (!tmpPtr)
-        return NS_ERROR_OUT_OF_MEMORY;
-      tmpPtr[0] = ToNewUnicode(word);
-      if (!tmpPtr[0]) {
-        NS_FREE_XPCOM_ALLOCATED_POINTER_ARRAY(0, tmpPtr);
-        return NS_ERROR_OUT_OF_MEMORY;
-      }
-      ToLowerCase(tmpPtr[0], tmpPtr[0], length);
-
-      tmpPtr[1] = ToNewUnicode(word);
-      if (!tmpPtr[1]) {
-        NS_FREE_XPCOM_ALLOCATED_POINTER_ARRAY(1, tmpPtr);
-        return NS_ERROR_OUT_OF_MEMORY;
-      }
-      ToLowerCase(tmpPtr[1], tmpPtr[1], length);
-      ToUpperCase(tmpPtr[1], tmpPtr[1], 1);
-
-      tmpPtr[2] = ToNewUnicode(word);
-      if (!tmpPtr[2]) {
-        NS_FREE_XPCOM_ALLOCATED_POINTER_ARRAY(2, tmpPtr);
-        return NS_ERROR_OUT_OF_MEMORY;
-      }
-
-      *words = tmpPtr;
-      *count = 3;
-      break;
-
-    case InitCap:
-      tmpPtr = (char16_t **)moz_xmalloc(sizeof(char16_t *) * 2);
-      if (!tmpPtr)
-        return NS_ERROR_OUT_OF_MEMORY;
-
-      tmpPtr[0] = ToNewUnicode(word);
-      if (!tmpPtr[0]) {
-        NS_FREE_XPCOM_ALLOCATED_POINTER_ARRAY(0, tmpPtr);
-        return NS_ERROR_OUT_OF_MEMORY;
-      }
-      ToLowerCase(tmpPtr[0], tmpPtr[0], length);
-
-      tmpPtr[1] = ToNewUnicode(word);
-      if (!tmpPtr[1]) {
-        NS_FREE_XPCOM_ALLOCATED_POINTER_ARRAY(1, tmpPtr);
-        return NS_ERROR_OUT_OF_MEMORY;
-      }
-
-      *words = tmpPtr;
-      *count = 2;
-      break;
-    default:
-      return NS_ERROR_FAILURE; // should never get here;
-    }
-  return NS_OK;
-}
-
-// This needs vast improvement
-bool mozEnglishWordUtils::ucIsAlpha(char16_t aChar)
+// static
+bool
+mozEnglishWordUtils::ucIsAlpha(char16_t aChar)
 {
   // XXX we have to fix callers to handle the full Unicode range
   return nsUGenCategory::kLetter == mozilla::unicode::GetGenCategory(aChar);
 }
 
 NS_IMETHODIMP mozEnglishWordUtils::FindNextWord(const char16_t *word, uint32_t length, uint32_t offset, int32_t *begin, int32_t *end)
 {
   const char16_t *p = word + offset;
@@ -200,85 +106,8 @@ NS_IMETHODIMP mozEnglishWordUtils::FindN
     *end = -1;
   }
   else{
     *begin = startWord-word;
     *end = p-word;
   }
   return NS_OK;
 }
-
-mozEnglishWordUtils::myspCapitalization
-mozEnglishWordUtils::captype(const nsString &word)
-{
-  char16_t* lword=ToNewUnicode(word);
-  ToUpperCase(lword,lword,word.Length());
-  if(word.Equals(lword)){
-    free(lword);
-    return AllCap;
-  }
-
-  ToLowerCase(lword,lword,word.Length());
-  if(word.Equals(lword)){
-    free(lword);
-    return NoCap;
-  }
-  int32_t length=word.Length();
-  if(Substring(word,1,length-1).Equals(lword+1)){
-    free(lword);
-    return InitCap;
-  }
-  free(lword);
-  return HuhCap;
-}
-
-// Convert the list of words in iwords to the same capitalization aWord and
-// return them in owords.
-NS_IMETHODIMP mozEnglishWordUtils::FromRootForm(const char16_t *aWord, const char16_t **iwords, uint32_t icount, char16_t ***owords, uint32_t *ocount)
-{
-  nsAutoString word(aWord);
-  nsresult rv = NS_OK;
-
-  int32_t length;
-  char16_t **tmpPtr  = (char16_t **)moz_xmalloc(sizeof(char16_t *)*icount);
-  if (!tmpPtr)
-    return NS_ERROR_OUT_OF_MEMORY;
-
-  mozEnglishWordUtils::myspCapitalization ct = captype(word);
-  for(uint32_t i = 0; i < icount; ++i) {
-    length = NS_strlen(iwords[i]);
-    tmpPtr[i] = (char16_t *) moz_xmalloc(sizeof(char16_t) * (length + 1));
-    if (MOZ_UNLIKELY(!tmpPtr[i])) {
-      NS_FREE_XPCOM_ALLOCATED_POINTER_ARRAY(i, tmpPtr);
-      return NS_ERROR_OUT_OF_MEMORY;
-    }
-    memcpy(tmpPtr[i], iwords[i], (length + 1) * sizeof(char16_t));
-
-    nsAutoString capTest(tmpPtr[i]);
-    mozEnglishWordUtils::myspCapitalization newCt=captype(capTest);
-    if(newCt == NoCap){
-      switch(ct)
-        {
-        case HuhCap:
-        case NoCap:
-          break;
-        case AllCap:
-          ToUpperCase(tmpPtr[i],tmpPtr[i],length);
-          rv = NS_OK;
-          break;
-        case InitCap:
-          ToUpperCase(tmpPtr[i],tmpPtr[i],1);
-          rv = NS_OK;
-          break;
-        default:
-          rv = NS_ERROR_FAILURE; // should never get here;
-          break;
-
-        }
-    }
-  }
-  if (NS_SUCCEEDED(rv)){
-    *owords = tmpPtr;
-    *ocount = icount;
-  }
-  return rv;
-}
-
--- a/extensions/spellcheck/src/mozEnglishWordUtils.h
+++ b/extensions/spellcheck/src/mozEnglishWordUtils.h
@@ -16,29 +16,18 @@
 class mozEnglishWordUtils : public mozISpellI18NUtil
 {
 public:
   NS_DECL_CYCLE_COLLECTING_ISUPPORTS
   NS_DECL_MOZISPELLI18NUTIL
   NS_DECL_CYCLE_COLLECTION_CLASS(mozEnglishWordUtils)
 
   mozEnglishWordUtils();
-  /* additional members */
-  enum myspCapitalization
-  {
-    NoCap,
-    InitCap,
-    AllCap,
-    HuhCap
-  };
 
 protected:
   virtual ~mozEnglishWordUtils();
 
-  mozEnglishWordUtils::myspCapitalization captype(const nsString &word);
-  bool ucIsAlpha(char16_t aChar);
+  static bool ucIsAlpha(char16_t aChar);
 
-  nsString mLanguage;
-  nsString mCharset;
   nsCOMPtr<mozITXTToHTMLConv> mURLDetector; // used to detect urls so the spell checker can skip them.
 };
 
 #endif