summaryrefslogtreecommitdiffstats
path: root/cc/resources/resource_update_queue.h
diff options
context:
space:
mode:
authorjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-18 08:24:40 +0000
committerjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-18 08:24:40 +0000
commite12dd0e802b2a80112cb40e01fabcc5c0475f05b (patch)
treefbfd355be68b05d64c98e4c0618e1d4ad8122f6a /cc/resources/resource_update_queue.h
parent0d4f1f4b15d63e5976f0a2c0205d414da861c8a5 (diff)
downloadchromium_src-e12dd0e802b2a80112cb40e01fabcc5c0475f05b.zip
chromium_src-e12dd0e802b2a80112cb40e01fabcc5c0475f05b.tar.gz
chromium_src-e12dd0e802b2a80112cb40e01fabcc5c0475f05b.tar.bz2
Part 8 of cc/ directory shuffles: resources
Continuation of https://src.chromium.org/viewvc/chrome?view=rev&revision=188681 BUG=190824 TBR=enne@chromium.org, piman@chromium.org, jschuh@chromium.org Review URL: https://codereview.chromium.org/12471007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188696 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/resources/resource_update_queue.h')
-rw-r--r--cc/resources/resource_update_queue.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/cc/resources/resource_update_queue.h b/cc/resources/resource_update_queue.h
new file mode 100644
index 0000000..c8bb69b
--- /dev/null
+++ b/cc/resources/resource_update_queue.h
@@ -0,0 +1,48 @@
+// Copyright 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 CC_RESOURCES_RESOURCE_UPDATE_QUEUE_H_
+#define CC_RESOURCES_RESOURCE_UPDATE_QUEUE_H_
+
+#include <deque>
+#include "base/basictypes.h"
+#include "cc/base/cc_export.h"
+#include "cc/output/texture_copier.h"
+#include "cc/resources/resource_update.h"
+
+namespace cc {
+
+class CC_EXPORT ResourceUpdateQueue {
+public:
+ ResourceUpdateQueue();
+ virtual ~ResourceUpdateQueue();
+
+ void appendFullUpload(const ResourceUpdate&);
+ void appendPartialUpload(const ResourceUpdate&);
+ void appendCopy(TextureCopier::Parameters);
+
+ void clearUploadsToEvictedResources();
+
+ ResourceUpdate takeFirstFullUpload();
+ ResourceUpdate takeFirstPartialUpload();
+ TextureCopier::Parameters takeFirstCopy();
+
+ size_t fullUploadSize() const { return m_fullEntries.size(); }
+ size_t partialUploadSize() const { return m_partialEntries.size(); }
+ size_t copySize() const { return m_copyEntries.size(); }
+
+ bool hasMoreUpdates() const;
+
+private:
+ void clearUploadsToEvictedResources(std::deque<ResourceUpdate>& entryQueue);
+ std::deque<ResourceUpdate> m_fullEntries;
+ std::deque<ResourceUpdate> m_partialEntries;
+ std::deque<TextureCopier::Parameters> m_copyEntries;
+
+ DISALLOW_COPY_AND_ASSIGN(ResourceUpdateQueue);
+};
+
+}
+
+#endif // CC_RESOURCES_RESOURCE_UPDATE_QUEUE_H_