author Mike Hommey <>
Fri, 23 Jun 2017 15:05:06 +0900
changeset 366422 374900b2142af725d4136758ac00dce2fbb824be
parent 324884 9f1de4aeae3a3495b6425668acbafbdf7eebb18b
child 448947 6f3709b3878117466168c40affa7bca0b60cf75b
permissions -rw-r--r--
Bug 1375798 - Reorganize the library_name_info function. r=mshal The function as it currently is matches how things were done in However, that's just confusing and hard to follow. In fact, the unit test failing numerous times while writing this patch pretty much highlights the problem. So instead of a confusing set of overrides to the prefixes and suffixes, spell out the whole set for each set of platforms. This also happens to make the function shorter. Win/win. At the same time, we normalize the function output as a nested namespace, where we get, for each of dll, lib, import_lib, etc. a prefix/suffix pair. Further down the road, we can imagine changing those to class instances with a method allowing to format file names based on those prefix/suffixes.

/* 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 */

#ifndef nsCharsetSource_h_
#define nsCharsetSource_h_

// note: the value order defines the priority; higher numbers take priority
#define kCharsetUninitialized           0
#define kCharsetFromFallback            1
#define kCharsetFromTopLevelDomain      2
#define kCharsetFromDocTypeDefault      3 // This and up confident for XHR
#define kCharsetFromCache               4
#define kCharsetFromParentFrame         5
#define kCharsetFromAutoDetection       6
#define kCharsetFromHintPrevDoc         7
#define kCharsetFromMetaPrescan         8 // this one and smaller: HTML5 Tentative
#define kCharsetFromMetaTag             9 // this one and greater: HTML5 Confident
#define kCharsetFromIrreversibleAutoDetection 10
#define kCharsetFromChannel            11
#define kCharsetFromOtherComponent     12
#define kCharsetFromParentForced       13 // propagates to child frames
#define kCharsetFromUserForced         14 // propagates to child frames
#define kCharsetFromByteOrderMark      15
#define kCharsetFromUtf8OnlyMime       16 // For JSON, WebVTT and such

#endif /* nsCharsetSource_h_ */