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

Issue 2745006: Implement a chromoting client using X11 (Closed)

Created:
10 years, 6 months ago by Alpha Left Google
Modified:
9 years, 6 months ago
CC:
chromium-reviews, Paweł Hajdan Jr., fbarchard, awong, Alpha Left Google, scherkus (not reviewing)
Visibility:
Public.

Description

Implement a chromoting client using X11 Using XRender to render the chromoting client. This patch has done several things: 1. Rename chromotocol_pb to remoting 2. Defined ChromotingView as the display area of the remote view 3. Implemented X11Client as the client that uses X11 for display 4. Implemented X11View that uses XRender for drawing 5. Fixed several problems in host capturer and encoder Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=49329

Patch Set 1 #

Patch Set 2 : adding missing files #

Patch Set 3 : fix style #

Total comments: 75

Patch Set 4 : fixed comments #

Total comments: 1

Patch Set 5 : fixed comments #

Patch Set 6 : removed all.gyp #

Unified diffs Side-by-side diffs Delta from patch set Stats (+875 lines, -230 lines) Patch
M media/base/video_frame.h View 2 chunks +16 lines, -0 lines 0 comments Download
M media/base/video_frame.cc View 1 2 3 3 chunks +26 lines, -1 line 0 comments Download
M media/base/video_frame_unittest.cc View 1 chunk +20 lines, -0 lines 0 comments Download
M remoting/base/protocol/chromotocol.proto View 1 chunk +1 line, -1 line 0 comments Download
M remoting/base/protocol_decoder.h View 1 chunk +2 lines, -2 lines 0 comments Download
M remoting/base/protocol_decoder.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M remoting/base/protocol_decoder_unittest.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M remoting/chromoting.gyp View 1 2 3 4 5 3 chunks +28 lines, -3 lines 0 comments Download
A remoting/client/chromoting_view.h View 2 3 1 chunk +37 lines, -0 lines 0 comments Download
A remoting/client/client_util.h View 1 chunk +19 lines, -0 lines 0 comments Download
A remoting/client/client_util.cc View 1 chunk +76 lines, -0 lines 0 comments Download
M remoting/client/decoder.h View 1 2 3 4 5 chunks +13 lines, -30 lines 0 comments Download
M remoting/client/decoder_verbatim.h View 1 2 3 1 chunk +11 lines, -5 lines 0 comments Download
M remoting/client/decoder_verbatim.cc View 1 2 3 1 chunk +37 lines, -19 lines 0 comments Download
M remoting/client/host_connection.cc View 1 chunk +11 lines, -5 lines 0 comments Download
M remoting/client/simple_client.cc View 2 chunks +10 lines, -77 lines 0 comments Download
A remoting/client/x11_client.cc View 2 3 4 1 chunk +262 lines, -0 lines 0 comments Download
A remoting/client/x11_view.h View 2 3 4 5 1 chunk +56 lines, -0 lines 0 comments Download
A remoting/client/x11_view.cc View 2 3 4 5 1 chunk +151 lines, -0 lines 0 comments Download
M remoting/host/capturer.h View 2 chunks +2 lines, -2 lines 0 comments Download
M remoting/host/capturer.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M remoting/host/capturer_fake.cc View 3 chunks +7 lines, -5 lines 0 comments Download
M remoting/host/capturer_fake_ascii.cc View 1 chunk +1 line, -1 line 0 comments Download
M remoting/host/capturer_gdi.cc View 1 chunk +1 line, -1 line 0 comments Download
M remoting/host/client_connection.h View 1 chunk +1 line, -1 line 0 comments Download
M remoting/host/client_connection.cc View 4 chunks +5 lines, -5 lines 0 comments Download
M remoting/host/client_connection_unittest.cc View 1 2 3 1 chunk +1 line, -2 lines 0 comments Download
M remoting/host/encoder.h View 2 chunks +2 lines, -2 lines 0 comments Download
M remoting/host/encoder_verbatim.h View 2 chunks +4 lines, -3 lines 0 comments Download
M remoting/host/encoder_verbatim.cc View 3 chunks +20 lines, -18 lines 0 comments Download
M remoting/host/encoder_vp8.h View 1 chunk +1 line, -1 line 0 comments Download
M remoting/host/encoder_vp8.cc View 1 chunk +1 line, -1 line 0 comments Download
M remoting/host/encoder_vp8_unittest.cc View 1 2 3 1 chunk +1 line, -2 lines 0 comments Download
M remoting/host/event_executor_win.cc View 2 chunks +5 lines, -5 lines 0 comments Download
M remoting/host/mock_objects.h View 3 chunks +4 lines, -4 lines 0 comments Download
M remoting/host/session_manager.h View 2 chunks +3 lines, -3 lines 0 comments Download
M remoting/host/session_manager.cc View 6 chunks +13 lines, -10 lines 0 comments Download
M remoting/host/session_manager_unittest.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M remoting/host/simple_host.cc View 6 chunks +18 lines, -12 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
Alpha Left Google
Sorry for such a big patch. I mixed the renaming of namespace with this patch ...
10 years, 6 months ago (2010-06-09 02:52:41 UTC) #1
Sergey Ulanov
http://codereview.chromium.org/2745006/diff/5001/6015 File remoting/client/x11_client.cc (right): http://codereview.chromium.org/2745006/diff/5001/6015#newcode249 remoting/client/x11_client.cc:249: std::string password_; Just FYI: I have a pending change ...
10 years, 6 months ago (2010-06-09 05:18:57 UTC) #2
awong
This CL is too large (conflates a rename + new functionality). (-_-) Overall, seems okay, ...
10 years, 6 months ago (2010-06-09 18:43:52 UTC) #3
garykac
Missing tests for new code. http://codereview.chromium.org/2745006/diff/5001/6002 File media/base/video_frame.h (right): http://codereview.chromium.org/2745006/diff/5001/6002#newcode142 media/base/video_frame.h:142: // True of memory ...
10 years, 6 months ago (2010-06-09 18:51:30 UTC) #4
awong
Check the * associations also in your diffs. http://codereview.chromium.org/2745006/diff/5001/6017 File remoting/client/x11_view.h (right): http://codereview.chromium.org/2745006/diff/5001/6017#newcode30 remoting/client/x11_view.h:30: virtual ...
10 years, 6 months ago (2010-06-09 18:57:50 UTC) #5
scherkus (not reviewing)
general comment about function naming... In this CL I saw a few different variants for ...
10 years, 6 months ago (2010-06-09 19:05:14 UTC) #6
Alpha Left Google
Fixed several things in the latest upload: 1. ChromotingView doesn't need a view now, it ...
10 years, 6 months ago (2010-06-09 19:53:18 UTC) #7
awong
LGTM http://codereview.chromium.org/2745006/diff/5001/6008 File remoting/client/chromoting_view.h (right): http://codereview.chromium.org/2745006/diff/5001/6008#newcode16 remoting/client/chromoting_view.h:16: class ChromotingView : public base::RefCountedThreadSafe<ChromotingView> { On 2010/06/09 ...
10 years, 6 months ago (2010-06-09 20:36:11 UTC) #8
Alpha Left Google
10 years, 6 months ago (2010-06-09 21:19:17 UTC) #9
http://codereview.chromium.org/2745006/diff/5001/6009
File remoting/client/decoder.h (right):

http://codereview.chromium.org/2745006/diff/5001/6009#newcode18
remoting/client/decoder.h:18: typedef std::vector<gfx::Rect> UpdatedRects;
On 2010/06/09 20:36:12, awong wrote:
> On 2010/06/09 19:53:18, Alpha wrote:
> > On 2010/06/09 18:51:30, garykac wrote:
> > > does it make sense to share this with the DirtyRects definition used in
the
> > > encoder/differ?
> > 
> > They are in a difference though. Maybe refactor later to pull them into
base/.
> 
> What's the difference?  Why not just call the thing RectList?
> 
> Add a TODO?

I meant different folder. Will add a TODO to refactor.

http://codereview.chromium.org/2745006/diff/5001/6010
File remoting/client/decoder_verbatim.cc (right):

http://codereview.chromium.org/2745006/diff/5001/6010#newcode70
remoting/client/decoder_verbatim.cc:70: updated_rects_->clear();
On 2010/06/09 20:36:12, awong wrote:
> On 2010/06/09 19:53:18, Alpha wrote:
> > On 2010/06/09 18:43:53, awong wrote:
> > > BTW, random thought...should we be using vectors for these things or
lists?
> > 
> > I don't think they make much difference in runtime performance though. Just
> not
> > a fan of list because of more weight (forward pointers).
> 
> On the otherhand, vectors double on a resize so they're not necessary more
> efficient...and I don't think clear resizes the vector downwards.  So for a
> long-lived vectors, we basically end up with max memory usage...
> 
> Anyways, just something to think about.  I doubt it matters much.

Actually vector.clear() sets capacity to 0. vector.resize(0) clears the content
but preserve capacity.

Powered by Google App Engine
This is Rietveld 408576698