// Copyright 2013 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 CC_TEST_TEST_TILE_PRIORITIES_H_
#define CC_TEST_TEST_TILE_PRIORITIES_H_

#include "cc/resources/tile_priority.h"

namespace cc {

class TilePriorityForSoonBin : public TilePriority {
 public:
  TilePriorityForSoonBin();
};

class TilePriorityForEventualBin : public TilePriority {
 public:
  TilePriorityForEventualBin();
};

class TilePriorityForNowBin : public TilePriority {
 public:
  TilePriorityForNowBin();
};

class TilePriorityLowRes : public TilePriority {
 public:
  TilePriorityLowRes();
};

}  // namespace cc

#endif  // CC_TEST_TEST_TILE_PRIORITIES_H_
