Add Sad Tab resources to the iOS build.
[chromium-blink-merge.git] / cc / resource_update_queue.h
blob15509b0da4107fcbace0c13599bf3c63d841756a
1 // Copyright 2012 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_RESOURCE_UPDATE_QUEUE_H_
6 #define CC_RESOURCE_UPDATE_QUEUE_H_
8 #include "base/basictypes.h"
9 #include "cc/cc_export.h"
10 #include "cc/resource_update.h"
11 #include "cc/texture_copier.h"
12 #include <deque>
14 namespace cc {
16 class CC_EXPORT ResourceUpdateQueue {
17 public:
18 ResourceUpdateQueue();
19 virtual ~ResourceUpdateQueue();
21 void appendFullUpload(const ResourceUpdate&);
22 void appendPartialUpload(const ResourceUpdate&);
23 void appendCopy(TextureCopier::Parameters);
25 void clearUploadsToEvictedResources();
27 ResourceUpdate takeFirstFullUpload();
28 ResourceUpdate takeFirstPartialUpload();
29 TextureCopier::Parameters takeFirstCopy();
31 size_t fullUploadSize() const { return m_fullEntries.size(); }
32 size_t partialUploadSize() const { return m_partialEntries.size(); }
33 size_t copySize() const { return m_copyEntries.size(); }
35 bool hasMoreUpdates() const;
37 private:
38 void clearUploadsToEvictedResources(std::deque<ResourceUpdate>& entryQueue);
39 std::deque<ResourceUpdate> m_fullEntries;
40 std::deque<ResourceUpdate> m_partialEntries;
41 std::deque<TextureCopier::Parameters> m_copyEntries;
43 DISALLOW_COPY_AND_ASSIGN(ResourceUpdateQueue);
48 #endif // CC_RESOURCE_UPDATE_QUEUE_H_