diff options
Diffstat (limited to 'cc/picture_pile_impl.h')
-rw-r--r-- | cc/picture_pile_impl.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/cc/picture_pile_impl.h b/cc/picture_pile_impl.h index 93ac072..b041635 100644 --- a/cc/picture_pile_impl.h +++ b/cc/picture_pile_impl.h @@ -5,8 +5,11 @@ #ifndef CC_PICTURE_PILE_IMPL_H_ #define CC_PICTURE_PILE_IMPL_H_ +#include <map> + #include "base/basictypes.h" #include "base/memory/ref_counted.h" +#include "base/threading/thread.h" #include "cc/cc_export.h" #include "cc/picture.h" #include "cc/picture_pile.h" @@ -20,6 +23,9 @@ class CC_EXPORT PicturePileImpl : public base::RefCounted<PicturePileImpl> { public: static scoped_refptr<PicturePileImpl> Create(); + // Get paint-safe version of this picture for a specific thread. + PicturePileImpl* GetCloneForDrawingOnThread(base::Thread*); + // Clone a paint-safe version of this picture. scoped_refptr<PicturePileImpl> CloneForDrawing() const; @@ -40,6 +46,10 @@ private: PicturePile::Pile pile_; + typedef std::map<base::PlatformThreadId, scoped_refptr<PicturePileImpl> > + CloneMap; + CloneMap clones_; + friend class base::RefCounted<PicturePileImpl>; DISALLOW_COPY_AND_ASSIGN(PicturePileImpl); }; |