Merge from Chromium at DEPS revision 225410

This commit was generated by merge_to_master.py.

Change-Id: Ifa1539ca216abb163295ee7a77f81bb67f52e178
diff --git a/remoting/client/jni/chromoting_jni_instance.cc b/remoting/client/jni/chromoting_jni_instance.cc
index 28822f6..84d94d6 100644
--- a/remoting/client/jni/chromoting_jni_instance.cc
+++ b/remoting/client/jni/chromoting_jni_instance.cc
@@ -6,7 +6,6 @@
 
 #include "base/bind.h"
 #include "base/logging.h"
-#include "jingle/glue/xmpp_client_socket_factory.h"
 #include "net/socket/client_socket_factory.h"
 #include "remoting/client/audio_player.h"
 #include "remoting/client/jni/android_keymap.h"
@@ -256,11 +255,9 @@
 
   view_->set_frame_producer(client_->GetFrameProducer());
 
-  scoped_ptr<jingle_glue::ResolvingClientSocketFactory> socket_factory(
-      new jingle_glue::XmppClientSocketFactory(
-          net::ClientSocketFactory::GetDefaultFactory(), net::SSLConfig(),
-          jni_runtime_->url_requester(), false));
-  signaling_.reset(new XmppSignalStrategy(socket_factory.Pass(), xmpp_config_));
+  signaling_.reset(new XmppSignalStrategy(
+      net::ClientSocketFactory::GetDefaultFactory(),
+      jni_runtime_->url_requester(), xmpp_config_));
 
   network_settings_.reset(new NetworkSettings(
       NetworkSettings::NAT_TRAVERSAL_ENABLED));
diff --git a/remoting/client/plugin/pepper_input_handler.cc b/remoting/client/plugin/pepper_input_handler.cc
index cc1bef7..a34db14 100644
--- a/remoting/client/plugin/pepper_input_handler.cc
+++ b/remoting/client/plugin/pepper_input_handler.cc
@@ -95,6 +95,14 @@
         mouse_event.set_button_down(is_down);
         mouse_event.set_x(pp_mouse_event.GetPosition().x());
         mouse_event.set_y(pp_mouse_event.GetPosition().y());
+
+        // Add relative movement if the mouse is locked.
+        if (mouse_lock_state_ == MouseLockOn) {
+          pp::Point delta = pp_mouse_event.GetMovement();
+          mouse_event.set_delta_x(delta.x());
+          mouse_event.set_delta_y(delta.y());
+        }
+
         input_stub_->InjectMouseEvent(mouse_event);
       }
       return true;
diff --git a/remoting/client/plugin/pepper_network_manager.cc b/remoting/client/plugin/pepper_network_manager.cc
index 424dede..b4787ca 100644
--- a/remoting/client/plugin/pepper_network_manager.cc
+++ b/remoting/client/plugin/pepper_network_manager.cc
@@ -10,7 +10,7 @@
 #include "base/thread_task_runner_handle.h"
 #include "ppapi/cpp/module.h"
 #include "ppapi/cpp/net_address.h"
-#include "ppapi/cpp/private/network_list_private.h"
+#include "ppapi/cpp/network_list.h"
 #include "remoting/client/plugin/pepper_util.h"
 #include "third_party/libjingle/source/talk/base/socketaddress.h"
 
@@ -22,7 +22,7 @@
       network_list_received_(false),
       callback_factory_(this),
       weak_factory_(this) {
-  pp::CompletionCallbackWithOutput<pp::NetworkListPrivate> callback =
+  pp::CompletionCallbackWithOutput<pp::NetworkList> callback =
       callback_factory_.NewCallbackWithOutput(
           &PepperNetworkManager::OnNetworkList);
   monitor_.UpdateNetworkList(callback);
@@ -47,9 +47,8 @@
   --start_count_;
 }
 
-
 void PepperNetworkManager::OnNetworkList(int32_t result,
-                                         const pp::NetworkListPrivate& list) {
+                                         const pp::NetworkList& list) {
   if (result != PP_OK) {
     SignalError();
     return;
@@ -59,7 +58,7 @@
   network_list_received_ = true;
 
   // Request for the next update.
-  pp::CompletionCallbackWithOutput<pp::NetworkListPrivate> callback =
+  pp::CompletionCallbackWithOutput<pp::NetworkList> callback =
       callback_factory_.NewCallbackWithOutput(
           &PepperNetworkManager::OnNetworkList);
   monitor_.UpdateNetworkList(callback);
diff --git a/remoting/client/plugin/pepper_network_manager.h b/remoting/client/plugin/pepper_network_manager.h
index 4bfe945..7711eed 100644
--- a/remoting/client/plugin/pepper_network_manager.h
+++ b/remoting/client/plugin/pepper_network_manager.h
@@ -8,17 +8,17 @@
 #include "base/compiler_specific.h"
 #include "base/memory/weak_ptr.h"
 #include "ppapi/cpp/instance_handle.h"
-#include "ppapi/cpp/private/network_monitor_private.h"
+#include "ppapi/cpp/network_monitor.h"
 #include "ppapi/utility/completion_callback_factory.h"
 #include "third_party/libjingle/source/talk/base/network.h"
 
 namespace pp {
-class NetworkListPrivate;
+class NetworkList;
 }  // namespace pp
 
 namespace remoting {
 
-// PepperNetworkManager uses the PPB_NetworkMonitor_Private API to
+// PepperNetworkManager uses the PPB_NetworkMonitor API to
 // implement the NetworkManager interface that libjingle uses to
 // monitor the host system's network interfaces.
 class PepperNetworkManager : public talk_base::NetworkManagerBase {
@@ -34,11 +34,11 @@
   static void OnNetworkListCallbackHandler(void* user_data,
                                            PP_Resource list_resource);
 
-  void OnNetworkList(int32_t result, const pp::NetworkListPrivate& list);
+  void OnNetworkList(int32_t result, const pp::NetworkList& list);
 
   void SendNetworksChangedSignal();
 
-  pp::NetworkMonitorPrivate monitor_;
+  pp::NetworkMonitor monitor_;
   int start_count_;
   bool network_list_received_;
 
diff --git a/remoting/client/plugin/pepper_packet_socket_factory.cc b/remoting/client/plugin/pepper_packet_socket_factory.cc
index 2f37ee2..1295a60 100644
--- a/remoting/client/plugin/pepper_packet_socket_factory.cc
+++ b/remoting/client/plugin/pepper_packet_socket_factory.cc
@@ -40,10 +40,12 @@
   // talk_base::AsyncPacketSocket interface.
   virtual talk_base::SocketAddress GetLocalAddress() const OVERRIDE;
   virtual talk_base::SocketAddress GetRemoteAddress() const OVERRIDE;
-  virtual int Send(const void* data, size_t data_size) OVERRIDE;
+  virtual int Send(const void* data, size_t data_size,
+                   talk_base::DiffServCodePoint dscp) OVERRIDE;
   virtual int SendTo(const void* data,
                      size_t data_size,
-                     const talk_base::SocketAddress& address) OVERRIDE;
+                     const talk_base::SocketAddress& address,
+                     talk_base::DiffServCodePoint dscp) OVERRIDE;
   virtual int Close() OVERRIDE;
   virtual State GetState() const OVERRIDE;
   virtual int GetOption(talk_base::Socket::Option opt, int* value) OVERRIDE;
@@ -190,7 +192,8 @@
   return talk_base::SocketAddress();
 }
 
-int UdpPacketSocket::Send(const void* data, size_t data_size) {
+int UdpPacketSocket::Send(const void* data, size_t data_size,
+                          talk_base::DiffServCodePoint dscp) {
   // UDP sockets are not connected - this method should never be called.
   NOTREACHED();
   return EWOULDBLOCK;
@@ -198,7 +201,8 @@
 
 int UdpPacketSocket::SendTo(const void* data,
                             size_t data_size,
-                            const talk_base::SocketAddress& address) {
+                            const talk_base::SocketAddress& address,
+                            talk_base::DiffServCodePoint dscp) {
   if (state_ != STATE_BOUND) {
     // TODO(sergeyu): StunPort may try to send stun request before we
     // are bound. Fix that problem and change this to DCHECK.
diff --git a/remoting/client/plugin/pepper_port_allocator.cc b/remoting/client/plugin/pepper_port_allocator.cc
index c04d7aa..e0d0b40 100644
--- a/remoting/client/plugin/pepper_port_allocator.cc
+++ b/remoting/client/plugin/pepper_port_allocator.cc
@@ -22,9 +22,6 @@
 
 namespace {
 
-// URL used to create a relay session.
-const char kCreateRelaySessionURL[] = "/create_session";
-
 // Read buffer we allocate per read when reading response from
 // URLLoader. Normally the response from URL loader is smaller than 1kB.
 const int kReadSize = 1024;
@@ -320,7 +317,8 @@
   // username fragment is shared between all candidates for this
   // channel.
   set_flags(cricket::PORTALLOCATOR_DISABLE_TCP |
-            cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG);
+            cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG|
+            cricket::PORTALLOCATOR_ENABLE_IPV6);
 }
 
 PepperPortAllocator::~PepperPortAllocator() {
diff --git a/remoting/client/rectangle_update_decoder.cc b/remoting/client/rectangle_update_decoder.cc
index e7c2f2f..af123e8 100644
--- a/remoting/client/rectangle_update_decoder.cc
+++ b/remoting/client/rectangle_update_decoder.cc
@@ -88,14 +88,11 @@
   if (notify_size_or_dpi_change)
     consumer_->SetSourceSize(source_size_, source_dpi_);
 
-  if (!decoder_->IsReadyForData()) {
-    // TODO(ajwong): This whole thing should move into an invalid state.
-    LOG(ERROR) << "Decoder is unable to process data. Dropping packet.";
-    return;
-  }
-
-  if (decoder_->DecodePacket(packet.get()) == VideoDecoder::DECODE_DONE)
+  if (decoder_->DecodePacket(*packet.get())) {
     SchedulePaint();
+  } else {
+    LOG(ERROR) << "DecodePacket() failed.";
+  }
 }
 
 void RectangleUpdateDecoder::SchedulePaint() {