summaryrefslogtreecommitdiffstats
path: root/parser/nsCharsetSource.h
blob: 0590883688d3ed2fe9952a07d16cd9ffaf723779 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/* 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
enum nsCharsetSource {
  kCharsetUninitialized,
  kCharsetFromFallback,
  kCharsetFromDocTypeDefault,  // This and up confident for XHR
  // Start subdividing source for telemetry purposes
  kCharsetFromInitialAutoDetectionASCII,
  kCharsetFromInitialAutoDetectionWouldHaveBeenUTF8,
  kCharsetFromInitialAutoDetectionWouldNotHaveBeenUTF8Generic,
  kCharsetFromInitialAutoDetectionWouldNotHaveBeenUTF8Content,
  kCharsetFromInitialAutoDetectionWouldNotHaveBeenUTF8DependedOnTLD,
  // End subdividing source for telemetry purposes
  kCharsetFromParentFrame,  // Same-origin parent takes precedence over detector
                            // to avoid breaking tests. (Also, the HTML spec
                            // says so.)
  kCharsetFromXmlDeclaration,
  kCharsetFromMetaTag,
  kCharsetFromChannel,
  kCharsetFromOtherComponent,
  kCharsetFromInitialUserForcedAutoDetection,
  // Start subdividing source for telemetry purposes
  // Deliberately no Final version of ASCII
  kCharsetFromFinalAutoDetectionWouldHaveBeenUTF8InitialWasASCII,
  kCharsetFromFinalAutoDetectionWouldNotHaveBeenUTF8Generic,
  kCharsetFromFinalAutoDetectionWouldNotHaveBeenUTF8GenericInitialWasASCII,
  kCharsetFromFinalAutoDetectionWouldNotHaveBeenUTF8Content,
  kCharsetFromFinalAutoDetectionWouldNotHaveBeenUTF8ContentInitialWasASCII,
  kCharsetFromFinalAutoDetectionWouldNotHaveBeenUTF8DependedOnTLD,
  kCharsetFromFinalAutoDetectionWouldNotHaveBeenUTF8DependedOnTLDInitialWasASCII,
  kCharsetFromFinalAutoDetectionFile,
  // End subdividing source for telemetry purposes
  kCharsetFromFinalUserForcedAutoDetection,
  kCharsetFromXmlDeclarationUtf16,  // This one is overridden by
                                    // kCharsetFromChannel
  kCharsetFromByteOrderMark,
  kCharsetFromUtf8OnlyMime,  // For JSON, WebVTT and such
  kCharsetFromBuiltIn,       // resource: URLs
};

#endif /* nsCharsetSource_h_ */