1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // This file intentionally does not have header guards, it's included
6 // inside a macro to generate enum values.
8 // This file contains list of sdch-related problem codes.
10 SDCH_PROBLEM_CODE(OK
, 0)
12 // Content-encoding correction problems.
13 SDCH_PROBLEM_CODE(ADDED_CONTENT_ENCODING
, 1)
14 SDCH_PROBLEM_CODE(FIXED_CONTENT_ENCODING
, 2)
15 SDCH_PROBLEM_CODE(FIXED_CONTENT_ENCODINGS
, 3)
17 // Content decoding errors.
18 SDCH_PROBLEM_CODE(DECODE_HEADER_ERROR
, 4)
19 SDCH_PROBLEM_CODE(DECODE_BODY_ERROR
, 5)
21 // More content-encoding correction problems.
22 SDCH_PROBLEM_CODE(OPTIONAL_GUNZIP_ENCODING_ADDED
, 6)
24 // Content encoding correction when we're not even tagged as HTML!?!
25 SDCH_PROBLEM_CODE(BINARY_ADDED_CONTENT_ENCODING
, 7)
26 SDCH_PROBLEM_CODE(BINARY_FIXED_CONTENT_ENCODING
, 8)
27 SDCH_PROBLEM_CODE(BINARY_FIXED_CONTENT_ENCODINGS
, 9)
29 // Dictionary selection for use problems.
30 SDCH_PROBLEM_CODE(DICTIONARY_FOUND_HAS_WRONG_DOMAIN
, 10)
31 SDCH_PROBLEM_CODE(DICTIONARY_FOUND_HAS_WRONG_PORT_LIST
, 11)
32 SDCH_PROBLEM_CODE(DICTIONARY_FOUND_HAS_WRONG_PATH
, 12)
33 SDCH_PROBLEM_CODE(DICTIONARY_FOUND_HAS_WRONG_SCHEME
, 13)
34 SDCH_PROBLEM_CODE(DICTIONARY_HASH_NOT_FOUND
, 14)
35 SDCH_PROBLEM_CODE(DICTIONARY_HASH_MALFORMED
, 15)
36 // defunct = 16, no longer used
38 // Dictionary saving problems.
39 SDCH_PROBLEM_CODE(DICTIONARY_HAS_NO_HEADER
, 20)
40 SDCH_PROBLEM_CODE(DICTIONARY_HEADER_LINE_MISSING_COLON
, 21)
41 SDCH_PROBLEM_CODE(DICTIONARY_MISSING_DOMAIN_SPECIFIER
, 22)
42 SDCH_PROBLEM_CODE(DICTIONARY_SPECIFIES_TOP_LEVEL_DOMAIN
, 23)
43 SDCH_PROBLEM_CODE(DICTIONARY_DOMAIN_NOT_MATCHING_SOURCE_URL
, 24)
44 SDCH_PROBLEM_CODE(DICTIONARY_PORT_NOT_MATCHING_SOURCE_URL
, 25)
45 SDCH_PROBLEM_CODE(DICTIONARY_HAS_NO_TEXT
, 26)
46 SDCH_PROBLEM_CODE(DICTIONARY_REFERER_URL_HAS_DOT_IN_PREFIX
, 27)
47 SDCH_PROBLEM_CODE(DICTIONARY_UNSUPPORTED_VERSION
, 28)
49 // Dictionary loading problems.
50 SDCH_PROBLEM_CODE(DICTIONARY_LOAD_ATTEMPT_FROM_DIFFERENT_HOST
, 30)
51 SDCH_PROBLEM_CODE(DICTIONARY_SELECTED_FOR_SSL
, 31)
52 SDCH_PROBLEM_CODE(DICTIONARY_ALREADY_LOADED
, 32)
53 SDCH_PROBLEM_CODE(DICTIONARY_SELECTED_FROM_NON_HTTP
, 33)
54 // defunct = 34, // Now recorded in separate histogram; see sdch_owner.cc.
55 // defunct = 35, // Now recorded in separate histogram; see sdch_owner.cc.
56 // defunct = 36, // DICTIONARY_PREVIOUSLY_SCHEDULED_TO_DOWNLOAD used instead.
57 // defunct = 37, // DICTIONARY_PREVIOUSLY_SCHEDULED_TO_DOWNLOAD used instead.
58 // defunct = 38, // No longer paying attention to URLRequest::Read return.
59 SDCH_PROBLEM_CODE(DICTIONARY_PREVIOUSLY_SCHEDULED_TO_DOWNLOAD
, 39)
62 SDCH_PROBLEM_CODE(ATTEMPT_TO_DECODE_NON_HTTP_DATA
, 40)
64 // More dictionary loading problems.
65 SDCH_PROBLEM_CODE(DICTIONARY_NO_ROOM
, 44)
67 // Content-Encoding problems detected, with no action taken.
68 SDCH_PROBLEM_CODE(MULTIENCODING_FOR_NON_SDCH_REQUEST
, 50)
69 SDCH_PROBLEM_CODE(SDCH_CONTENT_ENCODE_FOR_NON_SDCH_REQUEST
, 51)
71 // A dictionary that wasn't advertised is being used for decoding.
72 SDCH_PROBLEM_CODE(UNADVERTISED_DICTIONARY_USED
, 52)
73 SDCH_PROBLEM_CODE(UNADVERTISED_DICTIONARY_USED_CACHED
, 53)
75 // Dictionary manager issues.
76 SDCH_PROBLEM_CODE(DOMAIN_BLACKLIST_INCLUDES_TARGET
, 61)
78 // Problematic decode recovery methods.
79 // Dictionary not found.
80 SDCH_PROBLEM_CODE(META_REFRESH_RECOVERY
, 70)
81 // defunct = 71, // Almost the same as META_REFRESH_UNSUPPORTED.
82 // defunct = 72, // Almost the same as CACHED_META_REFRESH_UNSUPPORTED.
83 // defunct = 73, // PASSING_THROUGH_NON_SDCH plus DISCARD_TENTATIVE_SDCH.
84 // Unrecoverable error.
85 SDCH_PROBLEM_CODE(META_REFRESH_UNSUPPORTED
, 74)
86 // As above, but pulled from cache.
87 SDCH_PROBLEM_CODE(CACHED_META_REFRESH_UNSUPPORTED
, 75)
88 // Tagged sdch but missing dictionary-hash.
89 SDCH_PROBLEM_CODE(PASSING_THROUGH_NON_SDCH
, 76)
90 // Last window was not completely decoded.
91 SDCH_PROBLEM_CODE(INCOMPLETE_SDCH_CONTENT
, 77)
92 // URL not found message passing through.
93 SDCH_PROBLEM_CODE(PASS_THROUGH_404_CODE
, 78)
95 // This next report is very common, and not really an error scenario, but
96 // it exercises the error recovery logic.
97 // Back button got pre-SDCH cached content.
98 SDCH_PROBLEM_CODE(PASS_THROUGH_OLD_CACHED
, 79)
100 // Common decoded recovery methods.
101 // Probably startup tab loading.
102 SDCH_PROBLEM_CODE(META_REFRESH_CACHED_RECOVERY
, 80)
103 // defunct = 81, // Now tracked by ResponseCorruptionDetectionCause histo.
105 // Non SDCH problems, only accounted for to make stat counting complete
106 // (i.e., be able to be sure all dictionary advertisements are accounted
108 // Possible error in filter chaining.
109 SDCH_PROBLEM_CODE(UNFLUSHED_CONTENT
, 90)
110 // defunct = 91, // MISSING_TIME_STATS (Should never happen.)
111 // No timing stats recorded.
112 SDCH_PROBLEM_CODE(CACHE_DECODED
, 92)
113 // defunct = 93, // OVER_10_MINUTES (No timing stats recorded.)
114 // Filter never even got initialized.
115 SDCH_PROBLEM_CODE(UNINITIALIZED
, 94)
116 // We hadn't even parsed a dictionary selector.
117 SDCH_PROBLEM_CODE(PRIOR_TO_DICTIONARY
, 95)
118 // Something went wrong during decode.
119 SDCH_PROBLEM_CODE(DECODE_ERROR
, 96)
121 // Problem during the latency test.
122 // SDCH now failing, but it worked before!
123 SDCH_PROBLEM_CODE(LATENCY_TEST_DISALLOWED
, 100)
125 // General SDCH problems.
127 SDCH_PROBLEM_CODE(DISABLED
, 105)
128 // SDCH over https is disabled.
129 // SDCH always supports secure schemes now, so this enum value is unused.
130 // SDCH_PROBLEM_CODE(SECURE_SCHEME_NOT_SUPPORTED, 106)
132 // A dictionary used notification occurred after dictionary deletion.
133 SDCH_PROBLEM_CODE(DICTIONARY_USED_AFTER_DELETION
, 107)
135 // Used to bound histogram.
136 SDCH_PROBLEM_CODE(MAX_PROBLEM_CODE
, 110)
138 // These values are not used in histograms.