Commit 026b2d3c authored by Erik Jensen's avatar Erik Jensen Committed by Commit Bot

remoting: Move setting two capabilities to client_session.cc

Previously, rtcLogTransfer and webrtcIceSdpRestartAction were appended
to the host capability set in me2me_desktop_environment.cc and
it2me_desktop_environment.cc, but not in desktop_session_proxy.cc. The
latter omission prevented the associated functionality from working with
me2me on Windows hosts. Rather than setting the capabilities in yet
another location, this change moves setting them to client_session.cc,
which applies to all hosts, and is also where the associated
functionality is hooked up.

Change-Id: Ib534a52016b30382f40e6cbbee0c7376b684514d
Bug: 1147147
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2525239
Commit-Queue: Erik Jensen <rkjnsn@chromium.org>
Reviewed-by: default avatarLambros Lambrou <lambroslambrou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#825437}
parent 4b15abc7
......@@ -378,6 +378,11 @@ void ClientSession::OnConnectionAuthenticated() {
if (!host_capabilities_.empty())
host_capabilities_.append(" ");
host_capabilities_.append(extension_manager_->GetCapabilities());
if (!host_capabilities_.empty())
host_capabilities_.append(" ");
host_capabilities_.append(protocol::kRtcLogTransferCapability);
host_capabilities_.append(" ");
host_capabilities_.append(protocol::kWebrtcIceSdpRestartAction);
// Create the object that controls the screen resolution.
screen_controls_ = desktop_environment_->CreateScreenControls();
......
......@@ -63,7 +63,7 @@ constexpr char kTestDataChannelCallbackName[] = "test_channel_name";
// Matches a |protocol::Capabilities| argument against a list of capabilities
// formatted as a space-separated string.
MATCHER_P(EqCapabilities, expected_capabilities, "") {
MATCHER_P(IncludesCapabilities, expected_capabilities, "") {
if (!arg.has_capabilities())
return false;
......@@ -73,9 +73,14 @@ MATCHER_P(EqCapabilities, expected_capabilities, "") {
std::vector<std::string> words_expected = base::SplitString(
expected_capabilities, " ", base::KEEP_WHITESPACE,
base::SPLIT_WANT_NONEMPTY);
std::sort(words_args.begin(), words_args.end());
std::sort(words_expected.begin(), words_expected.end());
return words_args == words_expected;
for (const auto& word : words_expected) {
if (std::find(words_args.begin(), words_args.end(), word) ==
words_args.end()) {
return false;
}
}
return true;
}
protocol::MouseEvent MakeMouseMoveEvent(int x, int y) {
......@@ -712,7 +717,7 @@ TEST_F(ClientSessionTest, Extensions) {
extensions_.push_back(&extension3);
// Verify that the ClientSession reports the correct capabilities.
EXPECT_CALL(client_stub_, SetCapabilities(EqCapabilities("cap1 cap3")));
EXPECT_CALL(client_stub_, SetCapabilities(IncludesCapabilities("cap1 cap3")));
CreateClientSession();
ConnectClientSession();
......
......@@ -84,14 +84,6 @@ It2MeDesktopEnvironment::It2MeDesktopEnvironment(
}
}
std::string It2MeDesktopEnvironment::GetCapabilities() const {
std::string capabilities;
capabilities += protocol::kWebrtcIceSdpRestartAction;
capabilities += " ";
capabilities += protocol::kRtcLogTransferCapability;
return capabilities;
}
It2MeDesktopEnvironmentFactory::It2MeDesktopEnvironmentFactory(
scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
scoped_refptr<base::SingleThreadTaskRunner> video_capture_task_runner,
......
......@@ -33,9 +33,6 @@ class It2MeDesktopEnvironment : public BasicDesktopEnvironment {
base::WeakPtr<ClientSessionControl> client_session_control,
const DesktopEnvironmentOptions& options);
// DesktopEnvironment interface.
std::string GetCapabilities() const override;
private:
// Presents the continue window to the local user.
std::unique_ptr<HostWindow> continue_window_;
......
......@@ -64,12 +64,6 @@ std::string Me2MeDesktopEnvironment::GetCapabilities() const {
std::string capabilities;
capabilities += protocol::kRateLimitResizeRequests;
capabilities += " ";
capabilities += protocol::kWebrtcIceSdpRestartAction;
capabilities += " ";
capabilities += protocol::kRtcLogTransferCapability;
if (InputInjector::SupportsTouchEvents()) {
capabilities += " ";
capabilities += protocol::kTouchEventsCapability;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment