Skip to content
  • Nicholas Nethercote's avatar
    Bug 1410794 (attempt 2) - Change some |string| occurrences in... · 92524355
    Nicholas Nethercote authored
    Bug 1410794 (attempt 2) - Change some |string| occurrences in nsIPrefBranch.idl to |ACString|. r=erahm.
    
    This makes the code nicer. In particular, it removes many getter_Copies()
    calls. The patch also converts a lot of nsCStrings to nsAutoCString, which will
    avoid heap allocation in the common case.
    
    The patch also renames PREF_CopyCharPref() as PREF_GetCStringPref(), because
    it's actually getting a string, not a char, and that matches the existing
    GetCString() and GetDefaultCString() methods. Correspondingly, it also renames
    PREF_SetCharPref() as PREF_SetCStringPref().
    
    The |aPrefName| arguments in nsIPrefBranch.idl remain as |string| because they
    almost always involve passing in C string literals, and passing "foo" is much
    nicer than passing NS_LITERAL_CSTRING("foo").
    
    It's worth noting that early versions of this patch used |AUTF8String| instead
    of |ACString|. But it turns out that libpref stores prefs internally as Latin1.
    And |ACString| is compatible with Latin1 but |AUTF8String| isn't, because
    non-ASCII Latin1 strings are not valid UTF-8!
    
    MozReview-Commit-ID: D3f7a1Vl1oE
    
    --HG--
    extra : rebase_source : e6e4b15d6d210cfd93686f96400281f02bd1d06b
    92524355