parser/nsCharsetSource.h
author Mike Hommey <mh+mozilla@glandium.org>
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 old-configure.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 http://mozilla.org/MPL/2.0/. */

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