Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(266)

Side by Side Diff: remoting/client/frame_consumer_proxy.h

Issue 10454018: MessageLoopProxy cleanups in remoting client. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // FrameConsumerProxy is used to allow a FrameConsumer on the UI thread to be 5 // FrameConsumerProxy is used to allow a FrameConsumer on the UI thread to be
6 // invoked by a Decoder on the decoder thread. The Detach() method is used by 6 // invoked by a Decoder on the decoder thread. The Detach() method is used by
7 // the proxy's owner before tearing down the FrameConsumer, to prevent any 7 // the proxy's owner before tearing down the FrameConsumer, to prevent any
8 // further invokations reaching it. 8 // further invokations reaching it.
9 9
10 #ifndef REMOTING_CLIENT_FRAME_CONSUMER_PROXY_H_ 10 #ifndef REMOTING_CLIENT_FRAME_CONSUMER_PROXY_H_
11 #define REMOTING_CLIENT_FRAME_CONSUMER_PROXY_H_ 11 #define REMOTING_CLIENT_FRAME_CONSUMER_PROXY_H_
12 12
13 #include "base/memory/ref_counted.h" 13 #include "base/memory/ref_counted.h"
14 #include "base/memory/weak_ptr.h" 14 #include "base/memory/weak_ptr.h"
15 #include "remoting/client/frame_consumer.h" 15 #include "remoting/client/frame_consumer.h"
16 16
17 namespace base { 17 namespace base {
18 class MessageLoopProxy; 18 class SingleThreadTaskRunner;
19 } // namespace base 19 } // namespace base
20 20
21 namespace remoting { 21 namespace remoting {
22 22
23 class FrameConsumerProxy 23 class FrameConsumerProxy
24 : public base::RefCountedThreadSafe<FrameConsumerProxy>, 24 : public base::RefCountedThreadSafe<FrameConsumerProxy>,
25 public FrameConsumer { 25 public FrameConsumer {
26 public: 26 public:
27 // Constructs a proxy for |frame_consumer| which will trampoline invocations 27 // Constructs a proxy for |frame_consumer| which will trampoline invocations
28 // to |frame_consumer_message_loop|. 28 // to |frame_consumer_message_loop|.
29 FrameConsumerProxy( 29 FrameConsumerProxy(
30 scoped_refptr<base::MessageLoopProxy> frame_consumer_message_loop); 30 scoped_refptr<base::SingleThreadTaskRunner> frame_consumer_task_runner);
Wez 2012/06/11 22:32:44 nit: See comment below re re-naming.
Sergey Ulanov 2012/06/11 23:35:56 Done.
31 31
32 // FrameConsumer implementation. 32 // FrameConsumer implementation.
33 virtual void ApplyBuffer(const SkISize& view_size, 33 virtual void ApplyBuffer(const SkISize& view_size,
34 const SkIRect& clip_area, 34 const SkIRect& clip_area,
35 pp::ImageData* buffer, 35 pp::ImageData* buffer,
36 const SkRegion& region) OVERRIDE; 36 const SkRegion& region) OVERRIDE;
37 virtual void ReturnBuffer(pp::ImageData* buffer) OVERRIDE; 37 virtual void ReturnBuffer(pp::ImageData* buffer) OVERRIDE;
38 virtual void SetSourceSize(const SkISize& source_size) OVERRIDE; 38 virtual void SetSourceSize(const SkISize& source_size) OVERRIDE;
39 39
40 // Attaches to |frame_consumer_|. 40 // Attaches to |frame_consumer_|.
41 // This must only be called from |frame_consumer_message_loop_|. 41 // This must only be called from |frame_consumer_message_loop_|.
42 void Attach(const base::WeakPtr<FrameConsumer>& frame_consumer); 42 void Attach(const base::WeakPtr<FrameConsumer>& frame_consumer);
43 43
44 private: 44 private:
45 friend class base::RefCountedThreadSafe<FrameConsumerProxy>; 45 friend class base::RefCountedThreadSafe<FrameConsumerProxy>;
46 virtual ~FrameConsumerProxy(); 46 virtual ~FrameConsumerProxy();
47 47
48 base::WeakPtr<FrameConsumer> frame_consumer_; 48 base::WeakPtr<FrameConsumer> frame_consumer_;
49 scoped_refptr<base::MessageLoopProxy> frame_consumer_message_loop_; 49 scoped_refptr<base::SingleThreadTaskRunner> frame_consumer_task_runner_;
Wez 2012/06/11 22:32:44 nit: You could just call this |task_runner_|, real
Sergey Ulanov 2012/06/11 23:35:56 Done.
50 50
51 DISALLOW_COPY_AND_ASSIGN(FrameConsumerProxy); 51 DISALLOW_COPY_AND_ASSIGN(FrameConsumerProxy);
52 }; 52 };
53 53
54 } // namespace remoting 54 } // namespace remoting
55 55
56 #endif // REMOTING_CLIENT_FRAME_CONSUMER_PROXY_H_ 56 #endif // REMOTING_CLIENT_FRAME_CONSUMER_PROXY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698