summaryrefslogtreecommitdiffstats
path: root/remoting
Commit message (Collapse)AuthorAgeFilesLines
* Removing references to webrtc::PortAllocatorFactoryInterface.deadbeef2015-12-119-66/+68
| | | | | | | | | | | | | Now using a new CreatePeerConnection method that takes a PortAllocator as input. This removes the need for some boilerplate code and code duplication between webrtc and chromium. It also fixes an issue with TURN candidate priorities. BUG=webrtc:5209 Review URL: https://codereview.chromium.org/1500663003 Cr-Commit-Position: refs/heads/master@{#364544}
* Update Chromoting test-driver to accept a host-JID command-line parameter ↵anandc2015-12-113-1/+75
| | | | | | | | | | | | and confirm that JID is online. If a JID is passed in, check if a host with matching JID is online, waiting for replication delay in necessary. BUG=543880 Review URL: https://codereview.chromium.org/1514633003 Cr-Commit-Position: refs/heads/master@{#364535}
* Enable WebRTC support in the remoting host.sergeyu2015-12-104-22/+131
| | | | | | | | | | | | WebRTC is enabled in the host when the host is started with the --enable-webrtc flag. It also allows no-op authentication, so it's only allowed in Debug builds. BUG=547158 Review URL: https://codereview.chromium.org/1506383004 Cr-Commit-Position: refs/heads/master@{#364515}
* clang/win: Let remaining chromium_code targets build with -Wextra.thakis2015-12-102-5/+4
| | | | | | | | | | | | | | | This is a follow-up to https://codereview.chromium.org/1507413003/ and lets all translation units in a release build build if -Wextra is enabled for chromium_code targets. (This CL does not contain the change to actually turn on -Wextra, only cleanups.) BUG=567877 Review URL: https://codereview.chromium.org/1513043002 Cr-Commit-Position: refs/heads/master@{#364425}
* Add WebrtcConnectionToClient.sergeyu2015-12-1016-7/+499
| | | | | | | | | | | The new WebrtcConnectionToClient implements ConnectionToClient for WebRTC-based protocol. BUG=547158 Review URL: https://codereview.chromium.org/1510343002 Cr-Commit-Position: refs/heads/master@{#364409}
* Update Keystone to version 1.2.2.554.jamiewalch2015-12-101-0/+0
| | | | | | | | BUG=419145 Review URL: https://codereview.chromium.org/1513783003 Cr-Commit-Position: refs/heads/master@{#364260}
* Separating the cursor and viewport concepts in the TouchInputHandler class.joedow2015-12-092-39/+80
| | | | | | | | | | | | | | | | | | | | | | Prior to this CL there were two cursorPosition variables, one which represented the position of the cursor on the remote machine and another which represented the point we used for positioning the desktop image. Prior to the introduction of the Touch input modes, these two positions were kept in sync and so the naming scheme made sense (the assumption was that the cursor was centered, if possible, within the viewport). Touch input modes decouple viewport and cursor position so this assumption is no longer true. I have updated the names of the members, methods, and comments for the second, high-precision cursorPosition to reflect that it is actually used for viewport positioning. BUG= Review URL: https://codereview.chromium.org/1518563002 Cr-Commit-Position: refs/heads/master@{#364214}
* Adding a flag for drawing the cursor to the RenderData class.joedow2015-12-093-5/+19
| | | | | | | | | | | | | | | | | | | | | | | | | With the introduction of new input modes, we need to be able to figure out whether the current input strategy wants the local cursor bitmap to be rendered or not. I have added this attribute to the RenderData class which is set by the InputStrategy when it is instantiated and read by the DesktopView during each render loop. This change was pulled from a larger CL. The original impl had this flag in the DesktopView class instead with a suggestion of making it volatile or an AtomicBoolean. This flag will be changed a handful of times a session but read many thousands of times. Therefore I did not want to add overhead to the read operation that would come from the volatile/AtomicBoolean approach. Instead I want to use the mRenderData sync mechanism (which is already acquired within the render loop) so no overhead is added. BUG= Review URL: https://codereview.chromium.org/1514453006 Cr-Commit-Position: refs/heads/master@{#364182}
* Cleanups in WebrtcTransport.sergeyu2015-12-095-99/+123
| | | | | | | | | | | | | | | | | | | | This change includes several changes needed in the Webrtc-based transport: 1. WebrtcTransportFactory no longer owns the worker thread. Instead the calling code must provide a thread that has been started already. This also allows to make WebrtcTransport::Start() synchronous. 2. The direction in which offer and answer is sent is reversed. The host sends offer to the client and the client replies with an answer. 3. Offer is generated only after OnRenegotiationNeeded() notification is received. 4. The |is_server| flag in WebrtcDataStreamAdapter is replaced with |outgoing|, so connections may be created in either direction. BUG=547158 Review URL: https://codereview.chromium.org/1510333002 Cr-Commit-Position: refs/heads/master@{#364155}
* Remove kuint64max.avi2015-12-091-1/+6
| | | | | | | | BUG=138542, 488550 Review URL: https://codereview.chromium.org/1502503004 Cr-Commit-Position: refs/heads/master@{#364133}
* Make remoting_android_client_java into templatepkotwicz2015-12-092-19/+32
| | | | | | | | | | | Make remoting_android_client_java into template so that internal version of remoting_apk can depend on custom version of google_play_services BUG=544298 Review URL: https://codereview.chromium.org/1510033002 Cr-Commit-Position: refs/heads/master@{#364082}
* Update InputStrategyInterface to support new input strategies.joedow2015-12-095-94/+145
| | | | | | | | | | | | | | | | | | | | | | | Updated the InputStrategyInterface to be less imperative. The interface now has method names which are used to notify the InputStrategy instead of methods which are used to tell it to perform a certain action. Input strategies can now maintain their own internal state as needed and can react, or not, to the events as they occur. This flexibility allows the majority of the input logic to remain in the containing class (of the input strategy) and forward gesture data to the input strategy to allow it to react and inject the appropriate events on the remote OS. As a result of the change in the interface, some logic which was driven by old interface properties/methods was updated. These changes were part of a larger CL and were broken out to make the CL simpler. BUG=454549 Review URL: https://codereview.chromium.org/1512753002 Cr-Commit-Position: refs/heads/master@{#364075}
* Adding getter/setter for RenderData cursor member.joedow2015-12-093-22/+43
| | | | | | | | | | | | | | | | | | | This change was part of a larger refactoring and has been pulled out on its own. This change adds a getter/setter for the cursorPosition member of the RenderData class. One reason for doing this is to encapsulate the 'cursorMoved' logic so it is done once (instead of duplicated at each callsite) and the second is that the DesktopCanvas class uses a similar set of methods for manipulating its 'cursor' member and so code which called into both objects looked odd (one used a setter and the other a raw member). BUG= Review URL: https://codereview.chromium.org/1507423002 Cr-Commit-Position: refs/heads/master@{#363951}
* Remove dependency on webrtc::SharedMemory::handle()sergeyu2015-12-092-25/+10
| | | | | | | | | | webrtc::SharedMemory::handle() is never useful, so it will need to be removed. This changed removes dependency on that field so it can be removed later. Review URL: https://codereview.chromium.org/1509723003 Cr-Commit-Position: refs/heads/master@{#363934}
* Port Chromoting.apk and ChromotingTest.apk build rules to GNpkotwicz2015-12-096-4/+259
| | | | | | | | BUG=544298 Review URL: https://codereview.chromium.org/1473713005 Cr-Commit-Position: refs/heads/master@{#363891}
* Fixing a crash that occurs when our feedback animation is interrupted.joedow2015-12-091-4/+15
| | | | | | | | | | | | | | | | Our input feedback animation code handles being interrupted, however if the timing is just right, the duration since the start of the animation will cause the radius of the animation to be 0 which is an invalid parameter for the RadialGradient class we use to draw the feedback. My fix is to prevent this from occurring by exiting the render() function early and allowing the animation to begin on the subsequent render() call. BUG= Review URL: https://codereview.chromium.org/1506013003 Cr-Commit-Position: refs/heads/master@{#363851}
* Updated the TapGestureDetector to provide coordinates for tap events.joedow2015-12-083-17/+47
| | | | | | | | | | | | | | This change allows listeners to receive the coordinates of the initial fingerdown for tap and longpress events and use them for input injection. Note: The new parameters are not currently used in the TouchInputHandler class but will be hooked up in a future CL. BUG=454549 Review URL: https://codereview.chromium.org/1509983002 Cr-Commit-Position: refs/heads/master@{#363810}
* Clip long host names.jamiewalch2015-12-072-1/+6
| | | | | | | | | | | | Prevent long host names with no spaces from overflowing. Without this change, the edit and delete buttons are partially covered, making them hard to click. BUG=553656 Review URL: https://codereview.chromium.org/1499693003 Cr-Commit-Position: refs/heads/master@{#363559}
* Use the same version_code and version_name for remoting_apk as chrome_apkpkotwicz2015-12-042-30/+0
| | | | | | | | | | | | | | | This CL: - Changes remoting_apk in GYP so that it uses the same version_code and version_name as chrome_apk - Declares new GN variables so that remoting_apk in GN can share the same version_code and version_name as chrome_apk. (CL which ports remoting_apk to GN is at https://codereview.chromium.org/1473713005/) BUG=544298 Review URL: https://codereview.chromium.org/1491423003 Cr-Commit-Position: refs/heads/master@{#363266}
* Remove QUIC support from remoting host and client.sergeyu2015-12-0333-1492/+30
| | | | | | Review URL: https://codereview.chromium.org/1493083002 Cr-Commit-Position: refs/heads/master@{#363013}
* jni: Pass method parameters as JavaParamRef in remoting.torne2015-12-032-2/+3
| | | | | | | | | | | | | Pass all object parameters to JNI methods in JavaParamRef<> wrappers. This matches previous changes made to do this for JNI non-method functions. BUG=519562 R=solb@chromium.org Review URL: https://codereview.chromium.org/1472053003 Cr-Commit-Position: refs/heads/master@{#363000}
* Add support for WebRTC protocol in SessionConfig.sergeyu2015-12-0211-173/+453
| | | | | | | | BUG=547158 Review URL: https://codereview.chromium.org/1492553002 Cr-Commit-Position: refs/heads/master@{#362801}
* Adding UX for toggling Touch Input Mode.joedow2015-12-026-12/+217
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change is needed to allow toggling the input mode via the UX. I have tested it but am leaving it disabled until my next changelist which will add the new input modes. Included in this change is: - CapabilityManager updated to allow other classes to listen for change events. - Fixed a problem with the CapabilityManager where it would continue to return capabilities for the previous host until a new connection was made. - Added state information to the Desktop Activity to track whether the remote host supports touch injection and the currently selected input mode. - InputMode changes are persisted between sessions using SharedPreferences - Added a function which will handle creating a new InputStrategy when the user toggles input modes. There are two interesting pieces of logic in this change. - Desktop needs to know both the current InputMode and the host capabilities and it will wait to tell the DesktopView which InputStrategy to use until it knows both - The Host Capabilities are not known until after creation time so I updated CapabilityManager to use callbacks to signal changes to the negotiated capabilities. BUG=454549 Review URL: https://codereview.chromium.org/1490453002 Cr-Commit-Position: refs/heads/master@{#362798}
* Implement data channel support in WebrtcTransport.sergeyu2015-12-016-37/+436
| | | | | | | | | | | Now WebrtcTransport::GetStreamChannelFactory() returns a valid factory that creates streams using WebRTC data channel. BUG=547158 Review URL: https://codereview.chromium.org/1488723002 Cr-Commit-Position: refs/heads/master@{#362438}
* GN: Merge apk_deps and deps in test() templateagrieve2015-12-011-1/+1
| | | | | | | | | | | apk_deps has been causing some unneccesary confusion. BUG=558193 R=tfarina@chromium.org,brettw@chromium.org Review URL: https://codereview.chromium.org/1465923002 Cr-Commit-Position: refs/heads/master@{#362432}
* Remove old C++03 move emulation code.dcheng2015-12-011-14/+6
| | | | | | | | | | | Chrome allows the use of C++11 features now, so just use rvalue references directly. BUG=543901 Review URL: https://codereview.chromium.org/1407443002 Cr-Commit-Position: refs/heads/master@{#362394}
* Convert various vector_as_array calls to vector::data.davidben2015-12-011-9/+4
| | | | | | | | | | | This gets everything that wasn't covered by a previous CL in flight. BUG=556678 TBR=zea@chromium.org Review URL: https://codereview.chromium.org/1471043004 Cr-Commit-Position: refs/heads/master@{#362283}
* Updating XTBs based on .GRDs from branch masterKrishna Govind2015-11-3048-4/+286
| | | | Cr-Commit-Position: refs/heads/master@{#362231}
* Add VideoStream interface.sergeyu2015-11-3020-243/+284
| | | | | | | | | | | | Added new VideoStream interface. VideoFramePump implements it. Later there will be a separate implementation for WebRTC-based protocol. ConnectionToClient is responsible for VideoStream creation. BUG=547158 Review URL: https://codereview.chromium.org/1472873005 Cr-Commit-Position: refs/heads/master@{#362096}
* Add remoting::Session::State value for connected transport.sergeyu2015-11-278-21/+28
| | | | | | | | | | | Previously remoting::Session was using CONNECTED state for when the session has been accepted, but not connected. Renamed that state to ACCEPTED and added new state CONNECTED for when the session is authenticated and the transport is fully connected. Review URL: https://codereview.chromium.org/1478583002 Cr-Commit-Position: refs/heads/master@{#362037}
* Simplify unittests for ChromotingHost and ClientSessionsergeyu2015-11-275-688/+318
| | | | | | | | | Previously these tests were using MockDesktopEnvironment. Replaced it with FakeDesktopEnvironment. This allowed to simplify many tests. Review URL: https://codereview.chromium.org/1480453002 Cr-Commit-Position: refs/heads/master@{#361946}
* Make remoting_unittests work on GN & Androidpkotwicz2015-11-251-5/+4
| | | | | | | | BUG=544298 Review URL: https://codereview.chromium.org/1475453002 Cr-Commit-Position: refs/heads/master@{#361726}
* Move and rename host/cast_video_capture_adapter to ↵sergeyu2015-11-246-41/+44
| | | | | | | | | | | | protocol/webrtc_video_capture_adapter The adapter will be used in the protocol layer for WebRTC-based connections. BUG=547158 Review URL: https://codereview.chromium.org/1472703006 Cr-Commit-Position: refs/heads/master@{#361465}
* Replace MockConnectionToClient with FakeConnectionToClientsergeyu2015-11-248-142/+185
| | | | | | | | | | | | MockConnectionToClient is hard to use and adds a lot of boilerplate in tests. Replacing it with FakeConnectionToClient will make it easier to make changes in the ConnectionToClient interface. BUG=547158 Review URL: https://codereview.chromium.org/1463293002 Cr-Commit-Position: refs/heads/master@{#361442}
* Simplify It2Me host shutdownsergeyu2015-11-2412-198/+85
| | | | | | | | | | | | Previously It2Me host was stopped asynchronoulsy, which makes the shutdown more complicated. Now it's synchronous and is significantly simpler. Also removed ChromotingHost::RejectAuthenticatingClient() which is no longer needed. Review URL: https://codereview.chromium.org/1458323002 Cr-Commit-Position: refs/heads/master@{#361362}
* Define a Java-side global application context.torne2015-11-242-10/+7
| | | | | | | | | | | | | | | | | Instead of each user of base setting the native-side global app context separately, introduce a Java-side global app context, which is always in sync with the native-side one. Switch most callers to setting it on the Java side, except where this is problematic. Callers of ApplicationStatus.getApplicationContext will be updated incrementally in followup CLs once it's been verified that they only require a Context and not a BaseChromiumApplication. BUG=552419 Review URL: https://codereview.chromium.org/1407233017 Cr-Commit-Position: refs/heads/master@{#361306}
* Android Chromoting: Disable hamburger animation.lambroslambrou2015-11-247-22/+63
| | | | | | | | | | This is a little complex, for reasons that are explained in the code comments. Also, this refactors ChromotingUtil to make it easier to tint arbitrary Drawables. Review URL: https://codereview.chromium.org/1461893002 Cr-Commit-Position: refs/heads/master@{#361240}
* Fix compilation with enable_webrtc=0sergeyu2015-11-231-2/+0
| | | | | | | | | | | This problem was already fixed in r360646, but was broken again due incorrect merge in r361205. TBR=kelvinp@chromium.org Review URL: https://codereview.chromium.org/1468283002 Cr-Commit-Position: refs/heads/master@{#361219}
* Move VideoFramePump to remoting/protocolsergeyu2015-11-2327-137/+137
| | | | | | | | | | | VideoFramePump will not be used for WebRTC-based connection. In a separate change I plan to move creation of the VideoFramePump to IceConnectionToHost so the host layer will not need to know when VideoFramePump needs to be used. Review URL: https://codereview.chromium.org/1462063004 Cr-Commit-Position: refs/heads/master@{#361205}
* Updating XTBs based on .GRDs from branch masterKrishna Govind2015-11-236-1/+31
| | | | Cr-Commit-Position: refs/heads/master@{#361141}
* Re-land "Flip 'Linux x64' bot on chromium waterfall to GN."dpranke2015-11-221-2/+1
| | | | | | | | | | | | | | | | | This re-lands #360510 w/ a build fix to //mojo/shell:apptests after #360604; It looks like this was broken when we changed //mojo/shell/application_manager.mojo in #360604 but for whatever reason //mojo didn't include //mojo/shell:apptests. With this fix, 'ninja all' should work again in a GN Linux x64 build. TBR=phajdan.jr@chromium.org, ben@chromium.org, msw@chromium.org BUG=432959 CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:linux_chromium_archive_rel_ng Review URL: https://codereview.chromium.org/1460013003 Cr-Commit-Position: refs/heads/master@{#361056}
* Fix for closure compile after chrome_extensions.js externs update.michaelpg2015-11-211-7/+1
| | | | | | | | | | https://codereview.chromium.org/1457993002 broke the closure compile. BUG=556394 Review URL: https://codereview.chromium.org/1466473002 Cr-Commit-Position: refs/heads/master@{#360982}
* Run gn --format over all .gn filesagrieve2015-11-205-13/+12
| | | | | | | | | | | | | | | | The recent formatter alphebetizing change is causing a lot of noise in code reviews. Figured it'd be worth a clean-up CL. Exact command I ran: find . -name "*.gn*" -exec gn format --in-place "{}" \; TBR=ddorwin@chromium.org BUG=554928 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1464873002 Cr-Commit-Position: refs/heads/master@{#360891}
* Make protocol::ConnectionToClient an abstract interface.sergeyu2015-11-1913-156/+198
| | | | | | | | | | | Moved existing code to IceConnectionToClient. In future a new WebrtcConnectionToClient will handle webrtc-based connection. BUG=547158 Review URL: https://codereview.chromium.org/1460593005 Cr-Commit-Position: refs/heads/master@{#360673}
* Plumbing SSLPrivateKey (//net)svaldez2015-11-192-3/+8
| | | | | | | | | | Plumbing SSLPrivateKey out of URLRequest to allow better unit testing. BUG=394131 Review URL: https://codereview.chromium.org/1422573008 Cr-Commit-Position: refs/heads/master@{#360663}
* unbreak the no-webrtc buildmostynb2015-11-191-2/+8
| | | | | | | | | | | | | | Followup to https://codereview.chromium.org/1427003009 The third_party/libjingle/libjingle.gyp:libjingle_webrtc target is defined inside an enable_webrtc==1 condition, so it can only be depended on inside a similar condition. BUG=547158 Review URL: https://codereview.chromium.org/1457793004 Cr-Commit-Position: refs/heads/master@{#360646}
* remoting: remove usage of CapturedFrame.elapsed_time in CastVideoCapturerAdaptertfarina2015-11-192-9/+1
| | | | | | | | | | | | cricket::CapturedFrame.elapsed_time is deprecated since https://codereview.webrtc.org/1324263004/. BUG=544125 R=perkj@chromium.org,sergeyu@chromium.org Review URL: https://codereview.chromium.org/1456083002 Cr-Commit-Position: refs/heads/master@{#360563}
* Revert of Flip 'Linux x64' bot on chromium waterfall to GN. (patchset #2 ↵dpranke2015-11-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:20001 of https://codereview.chromium.org/1461453002/ ) Reason for revert: compiling 'all' fails w/ GN: http://build.chromium.org/p/chromium/builders/Linux%20x64/builds/12149/steps/compile/logs/stdio Original issue's description: > Flip 'Linux x64' bot on chromium waterfall to GN. > > This flips the Linux x64 bot on the chromium waterfall to > GN, and cleans up some mistakes in the MB config (the > builders should've been setting linux_dump_symbols=0, > which is the default, not linux_dump_symbols=1). > > TBR=phajdan.jr@chromium.org, brettw@chromium.org > BUG=530733, 432959 > > Committed: https://crrev.com/9bb757129af95f0ca1539c65269cd8bc85df04f8 > Cr-Commit-Position: refs/heads/master@{#360510} TBR=phajdan.jr@chromium.org,brettw@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=530733, 432959 Review URL: https://codereview.chromium.org/1457593005 Cr-Commit-Position: refs/heads/master@{#360544}
* Use std::default_delete as the default deleter for scoped_ptr.dcheng2015-11-191-1/+3
| | | | | | | | | | | The aim is to make scoped_ptr and std::unique_ptr functionally identical so scoped_ptr can simply be a typedef. BUG=554298 Review URL: https://codereview.chromium.org/1445003002 Cr-Commit-Position: refs/heads/master@{#360539}
* Flip 'Linux x64' bot on chromium waterfall to GN.dpranke2015-11-191-2/+1
| | | | | | | | | | | | | | This flips the Linux x64 bot on the chromium waterfall to GN, and cleans up some mistakes in the MB config (the builders should've been setting linux_dump_symbols=0, which is the default, not linux_dump_symbols=1). TBR=phajdan.jr@chromium.org, brettw@chromium.org BUG=530733, 432959 Review URL: https://codereview.chromium.org/1461453002 Cr-Commit-Position: refs/heads/master@{#360510}