diff options
author | jamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-18 08:24:40 +0000 |
---|---|---|
committer | jamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-18 08:24:40 +0000 |
commit | e12dd0e802b2a80112cb40e01fabcc5c0475f05b (patch) | |
tree | fbfd355be68b05d64c98e4c0618e1d4ad8122f6a /cc/resources/resource_update_queue.h | |
parent | 0d4f1f4b15d63e5976f0a2c0205d414da861c8a5 (diff) | |
download | chromium_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.h | 48 |
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_ |