// Copyright 2017 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 UI_BASE_RESOURCE_DATA_PACK_LITERAL_H_
#define UI_BASE_RESOURCE_DATA_PACK_LITERAL_H_

namespace ui {

extern const char kSamplePakContentsV4[];
extern const size_t kSamplePakSizeV4;
extern const char kSampleCompressPakContentsV5[];
extern const size_t kSampleCompressPakSizeV5;
extern const char kSampleCompressScaledPakContents[];
extern const size_t kSampleCompressScaledPakSize;
extern const char kSamplePakContents2x[];
extern const size_t kSamplePakSize2x;
extern const char kEmptyPakContents[];
extern const size_t kEmptyPakSize;
extern const char kSampleCorruptPakContents[];
extern const size_t kSampleCorruptPakSize;

}  // namespace ui

#endif  // UI_BASE_RESOURCE_DATA_PACK_LITERAL_H_
