blob: 4efc17cb166dd8be5cd67ae9bae722748771448e [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// This file intentionally does not have header guards, it's included
// inside a macro to generate enum values.
// This file contains list of sdch-related problem codes.
// No error.
SDCH_PROBLEM_CODE(OK, 0)
// Content-encoding correction problems.
SDCH_PROBLEM_CODE(ADDED_CONTENT_ENCODING, 1)
SDCH_PROBLEM_CODE(FIXED_CONTENT_ENCODING, 2)
SDCH_PROBLEM_CODE(FIXED_CONTENT_ENCODINGS, 3)
// Content decoding errors.
SDCH_PROBLEM_CODE(DECODE_HEADER_ERROR, 4)
SDCH_PROBLEM_CODE(DECODE_BODY_ERROR, 5)
// More content-encoding correction problems.
SDCH_PROBLEM_CODE(OPTIONAL_GUNZIP_ENCODING_ADDED, 6)
// Content encoding correction when we're not even tagged as HTML!?!
SDCH_PROBLEM_CODE(BINARY_ADDED_CONTENT_ENCODING, 7)
SDCH_PROBLEM_CODE(BINARY_FIXED_CONTENT_ENCODING, 8)
SDCH_PROBLEM_CODE(BINARY_FIXED_CONTENT_ENCODINGS, 9)
// Dictionary selection for use problems.
SDCH_PROBLEM_CODE(DICTIONARY_FOUND_HAS_WRONG_DOMAIN, 10)
SDCH_PROBLEM_CODE(DICTIONARY_FOUND_HAS_WRONG_PORT_LIST, 11)
SDCH_PROBLEM_CODE(DICTIONARY_FOUND_HAS_WRONG_PATH, 12)
SDCH_PROBLEM_CODE(DICTIONARY_FOUND_HAS_WRONG_SCHEME, 13)
SDCH_PROBLEM_CODE(DICTIONARY_HASH_NOT_FOUND, 14)
SDCH_PROBLEM_CODE(DICTIONARY_HASH_MALFORMED, 15)
SDCH_PROBLEM_CODE(DICTIONARY_FOUND_EXPIRED, 16)
// Dictionary saving problems.
SDCH_PROBLEM_CODE(DICTIONARY_HAS_NO_HEADER, 20)
SDCH_PROBLEM_CODE(DICTIONARY_HEADER_LINE_MISSING_COLON, 21)
SDCH_PROBLEM_CODE(DICTIONARY_MISSING_DOMAIN_SPECIFIER, 22)
SDCH_PROBLEM_CODE(DICTIONARY_SPECIFIES_TOP_LEVEL_DOMAIN, 23)
SDCH_PROBLEM_CODE(DICTIONARY_DOMAIN_NOT_MATCHING_SOURCE_URL, 24)
SDCH_PROBLEM_CODE(DICTIONARY_PORT_NOT_MATCHING_SOURCE_URL, 25)
SDCH_PROBLEM_CODE(DICTIONARY_HAS_NO_TEXT, 26)
SDCH_PROBLEM_CODE(DICTIONARY_REFERER_URL_HAS_DOT_IN_PREFIX, 27)
SDCH_PROBLEM_CODE(DICTIONARY_UNSUPPORTED_VERSION, 28)
// Dictionary loading problems.
SDCH_PROBLEM_CODE(DICTIONARY_LOAD_ATTEMPT_FROM_DIFFERENT_HOST, 30)
SDCH_PROBLEM_CODE(DICTIONARY_SELECTED_FOR_SSL, 31)
SDCH_PROBLEM_CODE(DICTIONARY_ALREADY_LOADED, 32)
SDCH_PROBLEM_CODE(DICTIONARY_SELECTED_FROM_NON_HTTP, 33)
SDCH_PROBLEM_CODE(DICTIONARY_IS_TOO_LARGE, 34)
SDCH_PROBLEM_CODE(DICTIONARY_COUNT_EXCEEDED, 35)
// defunct = 36, // DICTIONARY_PREVIOUSLY_SCHEDULED_TO_DOWNLOAD used instead.
// defunct = 37, // DICTIONARY_PREVIOUSLY_SCHEDULED_TO_DOWNLOAD used instead.
SDCH_PROBLEM_CODE(DICTIONARY_FETCH_READ_FAILED, 38)
SDCH_PROBLEM_CODE(DICTIONARY_PREVIOUSLY_SCHEDULED_TO_DOWNLOAD, 39)
// Failsafe hack.
SDCH_PROBLEM_CODE(ATTEMPT_TO_DECODE_NON_HTTP_DATA, 40)
// Content-Encoding problems detected, with no action taken.
SDCH_PROBLEM_CODE(MULTIENCODING_FOR_NON_SDCH_REQUEST, 50)
SDCH_PROBLEM_CODE(SDCH_CONTENT_ENCODE_FOR_NON_SDCH_REQUEST, 51)
// Dictionary manager issues.
SDCH_PROBLEM_CODE(DOMAIN_BLACKLIST_INCLUDES_TARGET, 61)
// Problematic decode recovery methods.
// Dictionary not found.
SDCH_PROBLEM_CODE(META_REFRESH_RECOVERY, 70)
// defunct = 71, // Almost the same as META_REFRESH_UNSUPPORTED.
// defunct = 72, // Almost the same as CACHED_META_REFRESH_UNSUPPORTED.
// defunct = 73, // PASSING_THROUGH_NON_SDCH plus DISCARD_TENTATIVE_SDCH.
// Unrecoverable error.
SDCH_PROBLEM_CODE(META_REFRESH_UNSUPPORTED, 74)
// As above, but pulled from cache.
SDCH_PROBLEM_CODE(CACHED_META_REFRESH_UNSUPPORTED, 75)
// Tagged sdch but missing dictionary-hash.
SDCH_PROBLEM_CODE(PASSING_THROUGH_NON_SDCH, 76)
// Last window was not completely decoded.
SDCH_PROBLEM_CODE(INCOMPLETE_SDCH_CONTENT, 77)
// URL not found message passing through.
SDCH_PROBLEM_CODE(PASS_THROUGH_404_CODE, 78)
// This next report is very common, and not really an error scenario, but
// it exercises the error recovery logic.
// Back button got pre-SDCH cached content.
SDCH_PROBLEM_CODE(PASS_THROUGH_OLD_CACHED, 79)
// Common decoded recovery methods.
// Probably startup tab loading.
SDCH_PROBLEM_CODE(META_REFRESH_CACHED_RECOVERY, 80)
// defunct = 81, // Now tracked by ResponseCorruptionDetectionCause histo.
// Non SDCH problems, only accounted for to make stat counting complete
// (i.e., be able to be sure all dictionary advertisements are accounted
// for).
// Possible error in filter chaining.
SDCH_PROBLEM_CODE(UNFLUSHED_CONTENT, 90)
// defunct = 91, // MISSING_TIME_STATS (Should never happen.)
// No timing stats recorded.
SDCH_PROBLEM_CODE(CACHE_DECODED, 92)
// defunct = 93, // OVER_10_MINUTES (No timing stats recorded.)
// Filter never even got initialized.
SDCH_PROBLEM_CODE(UNINITIALIZED, 94)
// We hadn't even parsed a dictionary selector.
SDCH_PROBLEM_CODE(PRIOR_TO_DICTIONARY, 95)
// Something went wrong during decode.
SDCH_PROBLEM_CODE(DECODE_ERROR, 96)
// Problem during the latency test.
// SDCH now failing, but it worked before!
SDCH_PROBLEM_CODE(LATENCY_TEST_DISALLOWED, 100)
// General SDCH problems.
// SDCH is disabled.
SDCH_PROBLEM_CODE(DISABLED, 105)
// SDCH over https is disabled.
SDCH_PROBLEM_CODE(SECURE_SCHEME_NOT_SUPPORTED, 106)
// Used to bound histogram.
SDCH_PROBLEM_CODE(MAX_PROBLEM_CODE, 110)
// These values are not used in histograms.