// Copyright (c) 2012 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 ANDROID_WEBVIEW_COMMON_AW_RESOURCE_H_
#define ANDROID_WEBVIEW_COMMON_AW_RESOURCE_H_

#include <string>

// android_webview implements these with a JNI call to the
// AwResource Java class.
namespace android_webview {
namespace AwResource {

std::string GetLoadErrorPageContent();
std::string GetNoDomainPageContent();
std::string GetDefaultTextEncoding();

}  // namespace AwResource
}  // namsespace android_webview

#endif  // ANDROID_WEBVIEW_COMMON_AW_RESOURCE_H_
