Supervised user import: Listen for profile creation/deletion
[chromium-blink-merge.git] / cc / resources / raster_tile_priority_queue_required.h
blob56c04e4a928f20b71bf9d2f7fdde3ecf80c80140
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CC_RESOURCES_RASTER_TILE_PRIORITY_QUEUE_REQUIRED_H_
6 #define CC_RESOURCES_RASTER_TILE_PRIORITY_QUEUE_REQUIRED_H_
8 #include <vector>
10 #include "cc/layers/picture_layer_impl.h"
11 #include "cc/resources/raster_tile_priority_queue.h"
12 #include "cc/resources/tiling_set_raster_queue_required.h"
14 namespace cc {
15 class Tile;
17 class RasterTilePriorityQueueRequired : public RasterTilePriorityQueue {
18 public:
19 RasterTilePriorityQueueRequired();
20 ~RasterTilePriorityQueueRequired() override;
22 bool IsEmpty() const override;
23 Tile* Top() override;
24 void Pop() override;
26 private:
27 friend class RasterTilePriorityQueue;
29 void Build(const std::vector<PictureLayerImpl::Pair>& paired_layers,
30 Type type);
31 void BuildRequiredForDraw(
32 const std::vector<PictureLayerImpl::Pair>& paired_layers);
33 void BuildRequiredForActivation(
34 const std::vector<PictureLayerImpl::Pair>& paired_layers);
36 ScopedPtrVector<TilingSetRasterQueueRequired> tiling_set_queues_;
38 DISALLOW_COPY_AND_ASSIGN(RasterTilePriorityQueueRequired);
41 } // namespace cc
43 #endif // CC_RESOURCES_RASTER_TILE_PRIORITY_QUEUE_REQUIRED_H_