summaryrefslogtreecommitdiffstats
path: root/cc/trees/layer_tree_impl.h
diff options
context:
space:
mode:
authorpowei@chromium.org <powei@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-01 06:28:57 +0000
committerpowei@chromium.org <powei@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-01 06:28:57 +0000
commitc928076e7b0f787091d512d6e24e4cbeb90159bb (patch)
treed7b38b3e0dc6b28e30418f6228ecba5d116a8577 /cc/trees/layer_tree_impl.h
parenta8a515cf0845fcfdea7163fe1ed78a8c4c2b2e5b (diff)
downloadchromium_src-c928076e7b0f787091d512d6e24e4cbeb90159bb.zip
chromium_src-c928076e7b0f787091d512d6e24e4cbeb90159bb.tar.gz
chromium_src-c928076e7b0f787091d512d6e24e4cbeb90159bb.tar.bz2
Proposed UI Resource Manager. See internal doc:
https://docs.google.com/a/google.com/document/d/1Im8fR0bVsBHC2I1f2MuzW-e-h1H1F5GYH4fbdBTsbQ8/edit BUG=259095,173947 Review URL: https://chromiumcodereview.appspot.com/18191020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@214975 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/trees/layer_tree_impl.h')
-rw-r--r--cc/trees/layer_tree_impl.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/cc/trees/layer_tree_impl.h b/cc/trees/layer_tree_impl.h
index 27aa6fa..7e66da8 100644
--- a/cc/trees/layer_tree_impl.h
+++ b/cc/trees/layer_tree_impl.h
@@ -5,12 +5,14 @@
#ifndef CC_TREES_LAYER_TREE_IMPL_H_
#define CC_TREES_LAYER_TREE_IMPL_H_
+#include <list>
#include <string>
#include <vector>
#include "base/containers/hash_tables.h"
#include "base/values.h"
#include "cc/layers/layer_impl.h"
+#include "cc/resources/ui_resource_client.h"
#include "ui/base/latency_info.h"
#if defined(COMPILER_GCC)
@@ -40,6 +42,9 @@ class Proxy;
class ResourceProvider;
class TileManager;
struct RendererCapabilities;
+struct UIResourceRequest;
+
+typedef std::list<UIResourceRequest> UIResourceRequestQueue;
class CC_EXPORT LayerTreeImpl {
public:
@@ -150,6 +155,8 @@ class CC_EXPORT LayerTreeImpl {
void set_needs_full_tree_sync(bool needs) { needs_full_tree_sync_ = needs; }
bool needs_full_tree_sync() const { return needs_full_tree_sync_; }
+ void set_ui_resource_request_queue(const UIResourceRequestQueue& queue);
+
const LayerImplList& RenderSurfaceLayerList() const;
// These return the size of the root scrollable area and the size of
@@ -191,6 +198,9 @@ class CC_EXPORT LayerTreeImpl {
void WillModifyTilePriorities();
+ ResourceProvider::ResourceId ResourceIdForUIResource(UIResourceId uid) const;
+ void ProcessUIResourceRequestQueue();
+
void AddLayerWithCopyOutputRequest(LayerImpl* layer);
void RemoveLayerWithCopyOutputRequest(LayerImpl* layer);
const std::vector<LayerImpl*> LayersWithCopyOutputRequest() const;
@@ -240,6 +250,8 @@ class CC_EXPORT LayerTreeImpl {
ui::LatencyInfo latency_info_;
+ UIResourceRequestQueue ui_resource_request_queue_;
+
private:
DISALLOW_COPY_AND_ASSIGN(LayerTreeImpl);
};