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

Side by Side Diff: remoting/client/plugin/pepper_view.h

Issue 3078005: Rename ChromotingPlugin -> ChromotingInstance to be more consistent with... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 4 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
« no previous file with comments | « remoting/client/plugin/pepper_entrypoints.cc ('k') | remoting/client/plugin/pepper_view.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 // This class is an implementation of the ChromotingView using Pepper devices 5 // This class is an implementation of the ChromotingView using Pepper devices
6 // as the backing stores. The public APIs to this class are thread-safe. 6 // as the backing stores. The public APIs to this class are thread-safe.
7 // Calls will dispatch any interaction with the pepper API onto the pepper 7 // Calls will dispatch any interaction with the pepper API onto the pepper
8 // main thread. 8 // main thread.
9 // 9 //
10 // TODO(ajwong): We need to better understand the threading semantics of this 10 // TODO(ajwong): We need to better understand the threading semantics of this
11 // class. Currently, we're just going to always run everything on the pepper 11 // class. Currently, we're just going to always run everything on the pepper
12 // main thread. Is this smart? 12 // main thread. Is this smart?
13 13
14 #ifndef REMOTING_CLIENT_PLUGIN_PEPPER_VIEW_H_ 14 #ifndef REMOTING_CLIENT_PLUGIN_PEPPER_VIEW_H_
15 #define REMOTING_CLIENT_PLUGIN_PEPPER_VIEW_H_ 15 #define REMOTING_CLIENT_PLUGIN_PEPPER_VIEW_H_
16 16
17 #include "base/scoped_ptr.h" 17 #include "base/scoped_ptr.h"
18 #include "base/task.h" 18 #include "base/task.h"
19 #include "media/base/video_frame.h" 19 #include "media/base/video_frame.h"
20 #include "remoting/base/decoder.h" 20 #include "remoting/base/decoder.h"
21 #include "remoting/client/chromoting_view.h" 21 #include "remoting/client/chromoting_view.h"
22 #include "third_party/ppapi/cpp/device_context_2d.h" 22 #include "third_party/ppapi/cpp/device_context_2d.h"
23 23
24 namespace remoting { 24 namespace remoting {
25 25
26 class ChromotingPlugin; 26 class ChromotingInstance;
27 class Decoder; 27 class Decoder;
28 28
29 class PepperView : public ChromotingView { 29 class PepperView : public ChromotingView {
30 public: 30 public:
31 // Constructs a PepperView that draws to the |rendering_device|. The 31 // Constructs a PepperView that draws to the |rendering_device|. The
32 // |rendering_device| instance must outlive this class. 32 // |rendering_device| instance must outlive this class.
33 // 33 //
34 // TODO(ajwong): This probably needs to synchronize with the pepper thread 34 // TODO(ajwong): This probably needs to synchronize with the pepper thread
35 // to be safe. 35 // to be safe.
36 explicit PepperView(ChromotingPlugin* plugin); 36 explicit PepperView(ChromotingInstance* instance);
37 virtual ~PepperView(); 37 virtual ~PepperView();
38 38
39 // ChromotingView implementation. 39 // ChromotingView implementation.
40 virtual bool Initialize(); 40 virtual bool Initialize();
41 virtual void TearDown(); 41 virtual void TearDown();
42 virtual void Paint(); 42 virtual void Paint();
43 virtual void SetSolidFill(uint32 color); 43 virtual void SetSolidFill(uint32 color);
44 virtual void UnsetSolidFill(); 44 virtual void UnsetSolidFill();
45 virtual void SetViewport(int x, int y, int width, int height); 45 virtual void SetViewport(int x, int y, int width, int height);
46 virtual void SetHostScreenSize(int width, int height); 46 virtual void SetHostScreenSize(int width, int height);
47 virtual void HandleBeginUpdateStream(HostMessage* msg); 47 virtual void HandleBeginUpdateStream(HostMessage* msg);
48 virtual void HandleUpdateStreamPacket(HostMessage* msg); 48 virtual void HandleUpdateStreamPacket(HostMessage* msg);
49 virtual void HandleEndUpdateStream(HostMessage* msg); 49 virtual void HandleEndUpdateStream(HostMessage* msg);
50 50
51 private: 51 private:
52 void OnPaintDone(); 52 void OnPaintDone();
53 void OnPartialDecodeDone(); 53 void OnPartialDecodeDone();
54 void OnDecodeDone(); 54 void OnDecodeDone();
55 55
56 // Reference to the creating plugin instance. Needed for interacting with 56 // Reference to the creating plugin instance. Needed for interacting with
57 // pepper. Marking explciitly as const since it must be initialized at 57 // pepper. Marking explciitly as const since it must be initialized at
58 // object creation, and never change. 58 // object creation, and never change.
59 ChromotingPlugin* const plugin_; 59 ChromotingInstance* const instance_;
60 60
61 pp::DeviceContext2D device_context_; 61 pp::DeviceContext2D device_context_;
62 62
63 int backing_store_width_; 63 int backing_store_width_;
64 int backing_store_height_; 64 int backing_store_height_;
65 65
66 int viewport_x_; 66 int viewport_x_;
67 int viewport_y_; 67 int viewport_y_;
68 int viewport_width_; 68 int viewport_width_;
69 int viewport_height_; 69 int viewport_height_;
70 70
71 bool is_static_fill_; 71 bool is_static_fill_;
72 uint32 static_fill_color_; 72 uint32 static_fill_color_;
73 73
74 scoped_refptr<media::VideoFrame> frame_; 74 scoped_refptr<media::VideoFrame> frame_;
75 UpdatedRects update_rects_; 75 UpdatedRects update_rects_;
76 UpdatedRects all_update_rects_; 76 UpdatedRects all_update_rects_;
77 77
78 scoped_ptr<Decoder> decoder_; 78 scoped_ptr<Decoder> decoder_;
79 79
80 DISALLOW_COPY_AND_ASSIGN(PepperView); 80 DISALLOW_COPY_AND_ASSIGN(PepperView);
81 }; 81 };
82 82
83 } // namespace remoting 83 } // namespace remoting
84 84
85 DISABLE_RUNNABLE_METHOD_REFCOUNT(remoting::PepperView); 85 DISABLE_RUNNABLE_METHOD_REFCOUNT(remoting::PepperView);
86 86
87 #endif // REMOTING_CLIENT_PLUGIN_PEPPER_VIEW_H_ 87 #endif // REMOTING_CLIENT_PLUGIN_PEPPER_VIEW_H_
OLDNEW
« no previous file with comments | « remoting/client/plugin/pepper_entrypoints.cc ('k') | remoting/client/plugin/pepper_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698