| Index: cc/trees/layer_tree_host.h
|
| diff --git a/cc/trees/layer_tree_host.h b/cc/trees/layer_tree_host.h
|
| index 5211ac89d1bb2d445776c0d7612ed602e894ff76..304127f023b43d01f8dd3e8f7b2cdeccaee1948c 100644
|
| --- a/cc/trees/layer_tree_host.h
|
| +++ b/cc/trees/layer_tree_host.h
|
| @@ -86,18 +86,35 @@ struct CC_EXPORT RendererCapabilities {
|
| bool using_discard_framebuffer;
|
| };
|
|
|
| -struct CC_EXPORT UIResourceRequest {
|
| +class CC_EXPORT UIResourceRequest {
|
| + public:
|
| enum UIResourceRequestType {
|
| UIResourceCreate,
|
| UIResourceDelete,
|
| UIResourceInvalidRequest
|
| };
|
|
|
| - UIResourceRequest();
|
| + UIResourceRequest(UIResourceRequestType type, UIResourceId id);
|
| + UIResourceRequest(UIResourceRequestType type,
|
| + UIResourceId id,
|
| + const UIResourceBitmap& bitmap);
|
| + UIResourceRequest(const UIResourceRequest& request);
|
| +
|
| ~UIResourceRequest();
|
| - UIResourceRequestType type;
|
| - UIResourceId id;
|
| - scoped_refptr<UIResourceBitmap> bitmap;
|
| +
|
| + UIResourceRequestType GetType() const { return type_; }
|
| + UIResourceId GetId() const { return id_; }
|
| + UIResourceBitmap GetBitmap() const {
|
| + DCHECK(bitmap_);
|
| + return *bitmap_.get();
|
| + }
|
| +
|
| + UIResourceRequest& operator=(const UIResourceRequest& request);
|
| +
|
| + private:
|
| + UIResourceRequestType type_;
|
| + UIResourceId id_;
|
| + scoped_ptr<UIResourceBitmap> bitmap_;
|
| };
|
|
|
| class CC_EXPORT LayerTreeHost : NON_EXPORTED_BASE(public RateLimiterClient) {
|
| @@ -290,6 +307,8 @@ class CC_EXPORT LayerTreeHost : NON_EXPORTED_BASE(public RateLimiterClient) {
|
| // were evicted on the impl thread.
|
| void RecreateUIResources();
|
|
|
| + virtual gfx::Size GetUIResourceSize(UIResourceId id) const;
|
| +
|
| bool UsingSharedMemoryResources();
|
| int id() const { return tree_id_; }
|
|
|
| @@ -326,7 +345,13 @@ class CC_EXPORT LayerTreeHost : NON_EXPORTED_BASE(public RateLimiterClient) {
|
|
|
| bool AnimateLayersRecursive(Layer* current, base::TimeTicks time);
|
|
|
| - typedef base::hash_map<UIResourceId, UIResourceClient*> UIResourceClientMap;
|
| + struct UIResourceClientData {
|
| + UIResourceClient* client;
|
| + gfx::Size size;
|
| + };
|
| +
|
| + typedef base::hash_map<UIResourceId, UIResourceClientData>
|
| + UIResourceClientMap;
|
| UIResourceClientMap ui_resource_client_map_;
|
| int next_ui_resource_id_;
|
|
|
|
|