blob: 4ff323161a80340d449442bd6992805737cc3e8d [file] [log] [blame]
// Copyright (c) 2011 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.
#ifndef COMPONENTS_ERROR_PAGE_COMMON_LOCALIZED_ERROR_H_
#define COMPONENTS_ERROR_PAGE_COMMON_LOCALIZED_ERROR_H_
#include <memory>
#include <string>
#include "base/macros.h"
#include "base/strings/string16.h"
#include "url/gurl.h"
namespace base {
class DictionaryValue;
}
namespace error_page {
struct ErrorPageParams;
class LocalizedError {
public:
enum class OfflineContentOnNetErrorFeatureState {
kDisabled,
kEnabledSummary,
kEnabledList,
};
// Fills |error_strings| with values to be used to build an error page used
// on HTTP errors, like 404 or connection reset.
static void GetStrings(
int error_code,
const std::string& error_domain,
const GURL& failed_url,
bool is_post,
bool stale_copy_in_cache,
bool can_show_network_diagnostics_dialog,
bool is_incognito,
OfflineContentOnNetErrorFeatureState offline_content_feature_state,
bool auto_fetch_feature_enabled,
const std::string& locale,
std::unique_ptr<error_page::ErrorPageParams> params,
base::DictionaryValue* strings);
// Returns a description of the encountered error.
static base::string16 GetErrorDetails(const std::string& error_domain,
int error_code,
bool is_post);
// Returns true if an error page exists for the specified parameters.
static bool HasStrings(const std::string& error_domain, int error_code);
private:
DISALLOW_IMPLICIT_CONSTRUCTORS(LocalizedError);
};
} // namespace error_page
#endif // COMPONENTS_ERROR_PAGE_COMMON_LOCALIZED_ERROR_H_