Cleanup: Remove DISALLOW_EVIL_CONSTRUCTORS macro.

Just use the less-evil version, DISALLOW_COPY_AND_ASSIGN macro.

This should help with my TODO in
https://chromium.googlesource.com/chromium/src/+/master/base/macros.h#33

Tested on Linux with the following command lines:

$ rm -rf out/
$ gn gen //out/Debug --args='is_debug=true target_cpu="x64" build_with_chromium=false'
$ ninja -C out/Debug

BUG=None
TEST=see above
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50599004

Patch from Thiago Farina <tfarina@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#8927}
diff --git a/webrtc/base/asyncpacketsocket.h b/webrtc/base/asyncpacketsocket.h
index 8054155..0affd24 100644
--- a/webrtc/base/asyncpacketsocket.h
+++ b/webrtc/base/asyncpacketsocket.h
@@ -130,7 +130,7 @@
   sigslot::signal2<AsyncPacketSocket*, AsyncPacketSocket*> SignalNewConnection;
 
  private:
-  DISALLOW_EVIL_CONSTRUCTORS(AsyncPacketSocket);
+  DISALLOW_COPY_AND_ASSIGN(AsyncPacketSocket);
 };
 
 }  // namespace rtc
diff --git a/webrtc/base/asynctcpsocket.h b/webrtc/base/asynctcpsocket.h
index c50579d..6435510 100644
--- a/webrtc/base/asynctcpsocket.h
+++ b/webrtc/base/asynctcpsocket.h
@@ -74,7 +74,7 @@
   char* inbuf_, * outbuf_;
   size_t insize_, inpos_, outsize_, outpos_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(AsyncTCPSocketBase);
+  DISALLOW_COPY_AND_ASSIGN(AsyncTCPSocketBase);
 };
 
 class AsyncTCPSocket : public AsyncTCPSocketBase {
@@ -95,7 +95,7 @@
   void HandleIncomingConnection(AsyncSocket* socket) override;
 
  private:
-  DISALLOW_EVIL_CONSTRUCTORS(AsyncTCPSocket);
+  DISALLOW_COPY_AND_ASSIGN(AsyncTCPSocket);
 };
 
 }  // namespace rtc
diff --git a/webrtc/base/constructormagic.h b/webrtc/base/constructormagic.h
index ceee37d..6b1244f 100644
--- a/webrtc/base/constructormagic.h
+++ b/webrtc/base/constructormagic.h
@@ -25,11 +25,6 @@
   TypeName(const TypeName&);                    \
   DISALLOW_ASSIGN(TypeName)
 
-// Alternative, less-accurate legacy name.
-#undef DISALLOW_EVIL_CONSTRUCTORS
-#define DISALLOW_EVIL_CONSTRUCTORS(TypeName) \
-  DISALLOW_COPY_AND_ASSIGN(TypeName)
-
 // A macro to disallow all the implicit constructors, namely the
 // default constructor, copy constructor and operator= functions.
 //
@@ -39,7 +34,7 @@
 #undef DISALLOW_IMPLICIT_CONSTRUCTORS
 #define DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \
   TypeName();                                    \
-  DISALLOW_EVIL_CONSTRUCTORS(TypeName)
+  DISALLOW_COPY_AND_ASSIGN(TypeName)
 
 
 #endif  // WEBRTC_BASE_CONSTRUCTORMAGIC_H_
diff --git a/webrtc/base/filelock.h b/webrtc/base/filelock.h
index 46c58ea..0de7dfc 100644
--- a/webrtc/base/filelock.h
+++ b/webrtc/base/filelock.h
@@ -45,7 +45,7 @@
   std::string path_;
   scoped_ptr<FileStream> file_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(FileLock);
+  DISALLOW_COPY_AND_ASSIGN(FileLock);
 };
 
 }  // namespace rtc
diff --git a/webrtc/base/flags.h b/webrtc/base/flags.h
index 5cff1cc..e500534 100644
--- a/webrtc/base/flags.h
+++ b/webrtc/base/flags.h
@@ -261,7 +261,7 @@
   char **argv_;
 
  private:
-  DISALLOW_EVIL_CONSTRUCTORS(WindowsCommandLineArguments);
+  DISALLOW_COPY_AND_ASSIGN(WindowsCommandLineArguments);
 };
 #endif  // WEBRTC_WIN 
 
diff --git a/webrtc/base/logging.h b/webrtc/base/logging.h
index e07045f..c1315ae 100644
--- a/webrtc/base/logging.h
+++ b/webrtc/base/logging.h
@@ -225,7 +225,7 @@
   // are we in diagnostic mode (as defined by the app)?
   static bool is_diagnostic_mode_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(LogMessage);
+  DISALLOW_COPY_AND_ASSIGN(LogMessage);
 };
 
 //////////////////////////////////////////////////////////////////////
diff --git a/webrtc/base/macasyncsocket.h b/webrtc/base/macasyncsocket.h
index 1aa4fe1..a43177d 100644
--- a/webrtc/base/macasyncsocket.h
+++ b/webrtc/base/macasyncsocket.h
@@ -90,7 +90,7 @@
   ConnState state_;
   AsyncResolver* resolver_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(MacAsyncSocket);
+  DISALLOW_COPY_AND_ASSIGN(MacAsyncSocket);
 };
 
 }  // namespace rtc
diff --git a/webrtc/base/maccocoasocketserver.h b/webrtc/base/maccocoasocketserver.h
index 0e171b4..906229c 100644
--- a/webrtc/base/maccocoasocketserver.h
+++ b/webrtc/base/maccocoasocketserver.h
@@ -40,7 +40,7 @@
   // The count of how many times we're inside the NSApplication main loop.
   int run_count_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(MacCocoaSocketServer);
+  DISALLOW_COPY_AND_ASSIGN(MacCocoaSocketServer);
 };
 
 }  // namespace rtc
diff --git a/webrtc/base/natserver.h b/webrtc/base/natserver.h
index 16c6d93..5975620 100644
--- a/webrtc/base/natserver.h
+++ b/webrtc/base/natserver.h
@@ -102,7 +102,7 @@
   AsyncSocket* tcp_server_socket_;
   InternalMap* int_map_;
   ExternalMap* ext_map_;
-  DISALLOW_EVIL_CONSTRUCTORS(NATServer);
+  DISALLOW_COPY_AND_ASSIGN(NATServer);
 };
 
 }  // namespace rtc
diff --git a/webrtc/base/natsocketfactory.h b/webrtc/base/natsocketfactory.h
index cafd78c..9a189d8 100644
--- a/webrtc/base/natsocketfactory.h
+++ b/webrtc/base/natsocketfactory.h
@@ -54,7 +54,7 @@
  private:
   SocketFactory* factory_;
   SocketAddress nat_addr_;
-  DISALLOW_EVIL_CONSTRUCTORS(NATSocketFactory);
+  DISALLOW_COPY_AND_ASSIGN(NATSocketFactory);
 };
 
 // Creates sockets that will send traffic through a NAT depending on what
@@ -151,7 +151,7 @@
   SocketServer* server_;
   MessageQueue* msg_queue_;
   TranslatorMap nats_;
-  DISALLOW_EVIL_CONSTRUCTORS(NATSocketServer);
+  DISALLOW_COPY_AND_ASSIGN(NATSocketServer);
 };
 
 // Free-standing NAT helper functions.
diff --git a/webrtc/base/nssidentity.h b/webrtc/base/nssidentity.h
index bf0a15a..447fc1c 100644
--- a/webrtc/base/nssidentity.h
+++ b/webrtc/base/nssidentity.h
@@ -42,7 +42,7 @@
   SECKEYPrivateKey* privkey_;
   SECKEYPublicKey* pubkey_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(NSSKeyPair);
+  DISALLOW_COPY_AND_ASSIGN(NSSKeyPair);
 };
 
 
@@ -91,7 +91,7 @@
   CERTCertificate* certificate_;
   scoped_ptr<SSLCertChain> chain_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(NSSCertificate);
+  DISALLOW_COPY_AND_ASSIGN(NSSCertificate);
 };
 
 // Represents a SSL key pair and certificate for NSS.
@@ -116,7 +116,7 @@
   rtc::scoped_ptr<NSSKeyPair> keypair_;
   rtc::scoped_ptr<NSSCertificate> certificate_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(NSSIdentity);
+  DISALLOW_COPY_AND_ASSIGN(NSSIdentity);
 };
 
 }  // namespace rtc
diff --git a/webrtc/base/opensslidentity.h b/webrtc/base/opensslidentity.h
index 71a2c31..ee7aabe 100644
--- a/webrtc/base/opensslidentity.h
+++ b/webrtc/base/opensslidentity.h
@@ -45,7 +45,7 @@
 
   EVP_PKEY* pkey_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(OpenSSLKeyPair);
+  DISALLOW_COPY_AND_ASSIGN(OpenSSLKeyPair);
 };
 
 // OpenSSLCertificate encapsulates an OpenSSL X509* certificate object,
@@ -92,7 +92,7 @@
 
   X509* x509_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(OpenSSLCertificate);
+  DISALLOW_COPY_AND_ASSIGN(OpenSSLCertificate);
 };
 
 // Holds a keypair and certificate together, and a method to generate
@@ -119,7 +119,7 @@
   scoped_ptr<OpenSSLKeyPair> key_pair_;
   scoped_ptr<OpenSSLCertificate> certificate_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(OpenSSLIdentity);
+  DISALLOW_COPY_AND_ASSIGN(OpenSSLIdentity);
 };
 
 
diff --git a/webrtc/base/proxyserver.h b/webrtc/base/proxyserver.h
index 5418a97..83fe6c2 100644
--- a/webrtc/base/proxyserver.h
+++ b/webrtc/base/proxyserver.h
@@ -55,7 +55,7 @@
   bool connected_;
   FifoBuffer out_buffer_;
   FifoBuffer in_buffer_;
-  DISALLOW_EVIL_CONSTRUCTORS(ProxyBinding);
+  DISALLOW_COPY_AND_ASSIGN(ProxyBinding);
 };
 
 class ProxyServer : public sigslot::has_slots<> {
@@ -75,7 +75,7 @@
   SocketAddress ext_ip_;
   scoped_ptr<AsyncSocket> server_socket_;
   BindingList bindings_;
-  DISALLOW_EVIL_CONSTRUCTORS(ProxyServer);
+  DISALLOW_COPY_AND_ASSIGN(ProxyServer);
 };
 
 // SocksProxyServer is a simple extension of ProxyServer to implement SOCKS.
@@ -87,7 +87,7 @@
   }
  protected:
   AsyncProxyServerSocket* WrapSocket(AsyncSocket* socket) override;
-  DISALLOW_EVIL_CONSTRUCTORS(SocksProxyServer);
+  DISALLOW_COPY_AND_ASSIGN(SocksProxyServer);
 };
 
 }  // namespace rtc
diff --git a/webrtc/base/scoped_autorelease_pool.h b/webrtc/base/scoped_autorelease_pool.h
index d9cc3cb..be94ace 100644
--- a/webrtc/base/scoped_autorelease_pool.h
+++ b/webrtc/base/scoped_autorelease_pool.h
@@ -50,7 +50,7 @@
 
   NSAutoreleasePool* pool_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(ScopedAutoreleasePool);
+  DISALLOW_COPY_AND_ASSIGN(ScopedAutoreleasePool);
 };
 
 }  // namespace rtc
diff --git a/webrtc/base/signalthread_unittest.cc b/webrtc/base/signalthread_unittest.cc
index 525ea62..1750101 100644
--- a/webrtc/base/signalthread_unittest.cc
+++ b/webrtc/base/signalthread_unittest.cc
@@ -57,7 +57,7 @@
 
    private:
     SignalThreadTest* harness_;
-    DISALLOW_EVIL_CONSTRUCTORS(SlowSignalThread);
+    DISALLOW_COPY_AND_ASSIGN(SlowSignalThread);
   };
 
   void OnWorkComplete(rtc::SignalThread* thread) {
@@ -128,7 +128,7 @@
  private:
   SignalThreadTest* harness_;
   bool has_run_;
-  DISALLOW_EVIL_CONSTRUCTORS(OwnerThread);
+  DISALLOW_COPY_AND_ASSIGN(OwnerThread);
 };
 
 // Test for when the main thread goes away while the
diff --git a/webrtc/base/socket.h b/webrtc/base/socket.h
index 725bd45..08ab5eb 100644
--- a/webrtc/base/socket.h
+++ b/webrtc/base/socket.h
@@ -180,7 +180,7 @@
   Socket() {}
 
  private:
-  DISALLOW_EVIL_CONSTRUCTORS(Socket);
+  DISALLOW_COPY_AND_ASSIGN(Socket);
 };
 
 }  // namespace rtc
diff --git a/webrtc/base/socketadapters.h b/webrtc/base/socketadapters.h
index a93d26f..fe6e7b0 100644
--- a/webrtc/base/socketadapters.h
+++ b/webrtc/base/socketadapters.h
@@ -50,7 +50,7 @@
   char * buffer_;
   size_t buffer_size_, data_len_;
   bool buffering_;
-  DISALLOW_EVIL_CONSTRUCTORS(BufferedReadAdapter);
+  DISALLOW_COPY_AND_ASSIGN(BufferedReadAdapter);
 };
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -78,7 +78,7 @@
  protected:
   void OnConnectEvent(AsyncSocket* socket) override;
   void ProcessInput(char* data, size_t* len) override;
-  DISALLOW_EVIL_CONSTRUCTORS(AsyncSSLSocket);
+  DISALLOW_COPY_AND_ASSIGN(AsyncSSLSocket);
 };
 
 // Implements a socket adapter that performs the server side of a
@@ -89,7 +89,7 @@
 
  protected:
   void ProcessInput(char* data, size_t* len) override;
-  DISALLOW_EVIL_CONSTRUCTORS(AsyncSSLServerSocket);
+  DISALLOW_COPY_AND_ASSIGN(AsyncSSLServerSocket);
 };
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -137,7 +137,7 @@
   } state_;
   HttpAuthContext * context_;
   std::string unknown_mechanisms_;
-  DISALLOW_EVIL_CONSTRUCTORS(AsyncHttpsProxySocket);
+  DISALLOW_COPY_AND_ASSIGN(AsyncHttpsProxySocket);
 };
 
 /* TODO: Implement this.
@@ -148,7 +148,7 @@
  private:
   virtual void ProcessInput(char * data, size_t& len);
   void Error(int error);
-  DISALLOW_EVIL_CONSTRUCTORS(AsyncHttpsProxyServerSocket);
+  DISALLOW_COPY_AND_ASSIGN(AsyncHttpsProxyServerSocket);
 };
 */
 
@@ -183,7 +183,7 @@
   SocketAddress proxy_, dest_;
   std::string user_;
   CryptString pass_;
-  DISALLOW_EVIL_CONSTRUCTORS(AsyncSocksProxySocket);
+  DISALLOW_COPY_AND_ASSIGN(AsyncSocksProxySocket);
 };
 
 // Implements a proxy server socket for the SOCKS protocol.
@@ -209,7 +209,7 @@
     SS_HELLO, SS_AUTH, SS_CONNECT, SS_CONNECT_PENDING, SS_TUNNEL, SS_ERROR
   };
   State state_;
-  DISALLOW_EVIL_CONSTRUCTORS(AsyncSocksProxyServerSocket);
+  DISALLOW_COPY_AND_ASSIGN(AsyncSocksProxyServerSocket);
 };
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -235,7 +235,7 @@
   std::string label_;
   bool hex_mode_;
   LogMultilineState lms_;
-  DISALLOW_EVIL_CONSTRUCTORS(LoggingSocketAdapter);
+  DISALLOW_COPY_AND_ASSIGN(LoggingSocketAdapter);
 };
 
 ///////////////////////////////////////////////////////////////////////////////
diff --git a/webrtc/base/socketstream.h b/webrtc/base/socketstream.h
index 4e65cb2..8761156 100644
--- a/webrtc/base/socketstream.h
+++ b/webrtc/base/socketstream.h
@@ -51,7 +51,7 @@
 
   AsyncSocket* socket_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(SocketStream);
+  DISALLOW_COPY_AND_ASSIGN(SocketStream);
 };
 
 ///////////////////////////////////////////////////////////////////////////////
diff --git a/webrtc/base/stream.h b/webrtc/base/stream.h
index 2a29b23..6ab6683 100644
--- a/webrtc/base/stream.h
+++ b/webrtc/base/stream.h
@@ -228,7 +228,7 @@
   void OnMessage(Message* msg) override;
 
  private:
-  DISALLOW_EVIL_CONSTRUCTORS(StreamInterface);
+  DISALLOW_COPY_AND_ASSIGN(StreamInterface);
 };
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -305,7 +305,7 @@
  private:
   StreamInterface* stream_;
   bool owned_;
-  DISALLOW_EVIL_CONSTRUCTORS(StreamAdapterInterface);
+  DISALLOW_COPY_AND_ASSIGN(StreamAdapterInterface);
 };
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -337,7 +337,7 @@
   scoped_ptr<StreamInterface> tap_;
   StreamResult tap_result_;
   int tap_error_;
-  DISALLOW_EVIL_CONSTRUCTORS(StreamTap);
+  DISALLOW_COPY_AND_ASSIGN(StreamTap);
 };
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -367,7 +367,7 @@
 
  private:
   size_t start_, pos_, length_;
-  DISALLOW_EVIL_CONSTRUCTORS(StreamSegment);
+  DISALLOW_COPY_AND_ASSIGN(StreamSegment);
 };
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -445,7 +445,7 @@
   FILE* file_;
 
  private:
-  DISALLOW_EVIL_CONSTRUCTORS(FileStream);
+  DISALLOW_COPY_AND_ASSIGN(FileStream);
 };
 
 // A stream that caps the output at a certain size, dropping content from the
@@ -517,7 +517,7 @@
   mutable CriticalSection crit_stream_;
   CriticalSection crit_buffer_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(AsyncWriteStream);
+  DISALLOW_COPY_AND_ASSIGN(AsyncWriteStream);
 };
 
 
@@ -592,7 +592,7 @@
   size_t seek_position_;
 
  private:
-  DISALLOW_EVIL_CONSTRUCTORS(MemoryStreamBase);
+  DISALLOW_COPY_AND_ASSIGN(MemoryStreamBase);
 };
 
 // MemoryStream dynamically resizes to accomodate written data.
@@ -690,7 +690,7 @@
   size_t read_position_;  // offset to the readable data
   Thread* owner_;  // stream callbacks are dispatched on this thread
   mutable CriticalSection crit_;  // object lock
-  DISALLOW_EVIL_CONSTRUCTORS(FifoBuffer);
+  DISALLOW_COPY_AND_ASSIGN(FifoBuffer);
 };
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -721,7 +721,7 @@
   bool hex_mode_;
   LogMultilineState lms_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(LoggingAdapter);
+  DISALLOW_COPY_AND_ASSIGN(LoggingAdapter);
 };
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -804,7 +804,7 @@
     StreamInterface* stream_;
     int ref_count_;
     CriticalSection cs_;
-    DISALLOW_EVIL_CONSTRUCTORS(StreamRefCount);
+    DISALLOW_COPY_AND_ASSIGN(StreamRefCount);
   };
 
   // Constructor for adding references
@@ -812,7 +812,7 @@
                            StreamInterface* stream);
 
   StreamRefCount* stream_ref_count_;
-  DISALLOW_EVIL_CONSTRUCTORS(StreamReference);
+  DISALLOW_COPY_AND_ASSIGN(StreamReference);
 };
 
 ///////////////////////////////////////////////////////////////////////////////
diff --git a/webrtc/base/task_unittest.cc b/webrtc/base/task_unittest.cc
index 5a3a605..a9cb704 100644
--- a/webrtc/base/task_unittest.cc
+++ b/webrtc/base/task_unittest.cc
@@ -308,7 +308,7 @@
     return STATE_NEXT;
   }
  private:
-  DISALLOW_EVIL_CONSTRUCTORS(AbortTask);
+  DISALLOW_COPY_AND_ASSIGN(AbortTask);
 };
 
 class TaskAbortTest : public sigslot::has_slots<> {
@@ -333,7 +333,7 @@
   }
 
   MyTaskRunner task_runner_;
-  DISALLOW_EVIL_CONSTRUCTORS(TaskAbortTest);
+  DISALLOW_COPY_AND_ASSIGN(TaskAbortTest);
 };
 
 TEST(start_task_test, Abort) {
@@ -363,7 +363,7 @@
 
  private:
   bool* set_when_deleted_;
-  DISALLOW_EVIL_CONSTRUCTORS(SetBoolOnDeleteTask);
+  DISALLOW_COPY_AND_ASSIGN(SetBoolOnDeleteTask);
 };
 
 class AbortShouldWakeTest : public sigslot::has_slots<> {
@@ -396,7 +396,7 @@
   }
 
   MyTaskRunner task_runner_;
-  DISALLOW_EVIL_CONSTRUCTORS(AbortShouldWakeTest);
+  DISALLOW_COPY_AND_ASSIGN(AbortShouldWakeTest);
 };
 
 TEST(start_task_test, AbortShouldWake) {
@@ -477,7 +477,7 @@
   MyTaskRunner task_runner_;
   StuckTask* (stuck_tasks_[3]);
   int task_count_;
-  DISALLOW_EVIL_CONSTRUCTORS(TimeoutChangeTest);
+  DISALLOW_COPY_AND_ASSIGN(TimeoutChangeTest);
 };
 
 TEST(start_task_test, TimeoutChange) {
@@ -494,7 +494,7 @@
     return GetCurrentTime();
   }
  private:
-  DISALLOW_EVIL_CONSTRUCTORS(DeleteTestTaskRunner);
+  DISALLOW_COPY_AND_ASSIGN(DeleteTestTaskRunner);
 };
 
 TEST(unstarted_task_test, DeleteTask) {
diff --git a/webrtc/base/taskparent.h b/webrtc/base/taskparent.h
index f26d797..482b2a6 100644
--- a/webrtc/base/taskparent.h
+++ b/webrtc/base/taskparent.h
@@ -53,7 +53,7 @@
   bool child_error_;
   typedef std::set<Task *> ChildSet;
   scoped_ptr<ChildSet> children_;
-  DISALLOW_EVIL_CONSTRUCTORS(TaskParent);
+  DISALLOW_COPY_AND_ASSIGN(TaskParent);
 };
 
 
diff --git a/webrtc/base/testclient.h b/webrtc/base/testclient.h
index 8e692b6..cd2ba36 100644
--- a/webrtc/base/testclient.h
+++ b/webrtc/base/testclient.h
@@ -89,7 +89,7 @@
   AsyncPacketSocket* socket_;
   std::vector<Packet*>* packets_;
   bool ready_to_send_;
-  DISALLOW_EVIL_CONSTRUCTORS(TestClient);
+  DISALLOW_COPY_AND_ASSIGN(TestClient);
 };
 
 }  // namespace rtc
diff --git a/webrtc/base/testechoserver.h b/webrtc/base/testechoserver.h
index 733b320..b3de441 100644
--- a/webrtc/base/testechoserver.h
+++ b/webrtc/base/testechoserver.h
@@ -65,7 +65,7 @@
   typedef std::list<AsyncTCPSocket*> ClientList;
   scoped_ptr<AsyncSocket> server_socket_;
   ClientList client_sockets_;
-  DISALLOW_EVIL_CONSTRUCTORS(TestEchoServer);
+  DISALLOW_COPY_AND_ASSIGN(TestEchoServer);
 };
 
 }  // namespace rtc
diff --git a/webrtc/base/virtualsocketserver.h b/webrtc/base/virtualsocketserver.h
index f2c8bd7..8359ec8 100644
--- a/webrtc/base/virtualsocketserver.h
+++ b/webrtc/base/virtualsocketserver.h
@@ -230,7 +230,7 @@
   CriticalSection delay_crit_;
 
   double drop_prob_;
-  DISALLOW_EVIL_CONSTRUCTORS(VirtualSocketServer);
+  DISALLOW_COPY_AND_ASSIGN(VirtualSocketServer);
 };
 
 // Implements the socket interface using the virtual network.  Packets are
diff --git a/webrtc/base/win32regkey.h b/webrtc/base/win32regkey.h
index b33d4dc..8bd8060 100644
--- a/webrtc/base/win32regkey.h
+++ b/webrtc/base/win32regkey.h
@@ -329,7 +329,7 @@
   // for unittest
   friend void RegKeyHelperFunctionsTest();
 
-  DISALLOW_EVIL_CONSTRUCTORS(RegKey);
+  DISALLOW_COPY_AND_ASSIGN(RegKey);
 };
 
 }  // namespace rtc
diff --git a/webrtc/base/win32toolhelp.h b/webrtc/base/win32toolhelp.h
index dfafdb3..2c69f58 100644
--- a/webrtc/base/win32toolhelp.h
+++ b/webrtc/base/win32toolhelp.h
@@ -139,7 +139,7 @@
   }
 
  private:
-  DISALLOW_EVIL_CONSTRUCTORS(ProcessEnumerator);
+  DISALLOW_COPY_AND_ASSIGN(ProcessEnumerator);
 };
 
 class ToolhelpModuleTraits : public ToolhelpTraits {
@@ -164,7 +164,7 @@
   }
 
  private:
-  DISALLOW_EVIL_CONSTRUCTORS(ModuleEnumerator);
+  DISALLOW_COPY_AND_ASSIGN(ModuleEnumerator);
 };
 
 }  // namespace rtc
diff --git a/webrtc/libjingle/session/p2ptransportparser.h b/webrtc/libjingle/session/p2ptransportparser.h
index 754673b..fd6fdeb 100644
--- a/webrtc/libjingle/session/p2ptransportparser.h
+++ b/webrtc/libjingle/session/p2ptransportparser.h
@@ -59,7 +59,7 @@
                             const std::string& username,
                             ParseError* error);
 
-  DISALLOW_EVIL_CONSTRUCTORS(P2PTransportParser);
+  DISALLOW_COPY_AND_ASSIGN(P2PTransportParser);
 };
 
 }  // namespace cricket
diff --git a/webrtc/libjingle/session/rawtransportparser.h b/webrtc/libjingle/session/rawtransportparser.h
index 092fa3f..7dff9fe 100644
--- a/webrtc/libjingle/session/rawtransportparser.h
+++ b/webrtc/libjingle/session/rawtransportparser.h
@@ -41,7 +41,7 @@
                        rtc::SocketAddress* addr,
                        ParseError* error);
 
-  DISALLOW_EVIL_CONSTRUCTORS(RawTransportParser);
+  DISALLOW_COPY_AND_ASSIGN(RawTransportParser);
 };
 
 }  // namespace cricket
diff --git a/webrtc/libjingle/session/tunnel/securetunnelsessionclient.h b/webrtc/libjingle/session/tunnel/securetunnelsessionclient.h
index 705c8fe..5fa0252 100644
--- a/webrtc/libjingle/session/tunnel/securetunnelsessionclient.h
+++ b/webrtc/libjingle/session/tunnel/securetunnelsessionclient.h
@@ -106,7 +106,7 @@
   // and used for SSL authentication.
   rtc::scoped_ptr<rtc::SSLIdentity> identity_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(SecureTunnelSessionClient);
+  DISALLOW_COPY_AND_ASSIGN(SecureTunnelSessionClient);
 };
 
 // SecureTunnelSession:
@@ -157,7 +157,7 @@
   // later.
   rtc::scoped_ptr<rtc::StreamReference> ssl_stream_reference_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(SecureTunnelSession);
+  DISALLOW_COPY_AND_ASSIGN(SecureTunnelSession);
 };
 
 }  // namespace cricket
diff --git a/webrtc/libjingle/xmpp/xmpptask.h b/webrtc/libjingle/xmpp/xmpptask.h
index e27b265..2e10d63 100644
--- a/webrtc/libjingle/xmpp/xmpptask.h
+++ b/webrtc/libjingle/xmpp/xmpptask.h
@@ -67,7 +67,7 @@
   virtual void RemoveXmppTask(XmppTask* task) = 0;
   sigslot::signal0<> SignalDisconnected;
 
-  DISALLOW_EVIL_CONSTRUCTORS(XmppClientInterface);
+  DISALLOW_COPY_AND_ASSIGN(XmppClientInterface);
 };
 
 // XmppTaskParentInterface is the interface require for any parent of
@@ -86,7 +86,7 @@
 
   virtual XmppClientInterface* GetClient() = 0;
 
-  DISALLOW_EVIL_CONSTRUCTORS(XmppTaskParentInterface);
+  DISALLOW_COPY_AND_ASSIGN(XmppTaskParentInterface);
 };
 
 class XmppTaskBase : public XmppTaskParentInterface {
@@ -104,7 +104,7 @@
  protected:
   XmppTaskParentInterface* parent_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(XmppTaskBase);
+  DISALLOW_COPY_AND_ASSIGN(XmppTaskBase);
 };
 
 class XmppTask : public XmppTaskBase,
diff --git a/webrtc/overrides/webrtc/base/constructormagic.h b/webrtc/overrides/webrtc/base/constructormagic.h
index 72b334c..91e2748 100644
--- a/webrtc/overrides/webrtc/base/constructormagic.h
+++ b/webrtc/overrides/webrtc/base/constructormagic.h
@@ -9,7 +9,7 @@
  */
 
 // This file overrides the inclusion of webrtc/base/constructormagic.h
-// We do this because constructor magic defines DISALLOW_EVIL_CONSTRUCTORS,
+// We do this because constructor magic defines DISALLOW_COPY_AND_ASSIGN,
 // but we want to use the version from Chromium.
 
 #ifndef OVERRIDES_WEBRTC_BASE_CONSTRUCTORMAGIC_H__
diff --git a/webrtc/p2p/base/asyncstuntcpsocket.h b/webrtc/p2p/base/asyncstuntcpsocket.h
index 4f53b03..734ab92 100644
--- a/webrtc/p2p/base/asyncstuntcpsocket.h
+++ b/webrtc/p2p/base/asyncstuntcpsocket.h
@@ -42,7 +42,7 @@
   size_t GetExpectedLength(const void* data, size_t len,
                            int* pad_bytes);
 
-  DISALLOW_EVIL_CONSTRUCTORS(AsyncStunTCPSocket);
+  DISALLOW_COPY_AND_ASSIGN(AsyncStunTCPSocket);
 };
 
 }  // namespace cricket
diff --git a/webrtc/p2p/base/p2ptransport.h b/webrtc/p2p/base/p2ptransport.h
index c0e3952..34cc849 100644
--- a/webrtc/p2p/base/p2ptransport.h
+++ b/webrtc/p2p/base/p2ptransport.h
@@ -31,7 +31,7 @@
 
   friend class P2PTransportChannel;
 
-  DISALLOW_EVIL_CONSTRUCTORS(P2PTransport);
+  DISALLOW_COPY_AND_ASSIGN(P2PTransport);
 };
 
 }  // namespace cricket
diff --git a/webrtc/p2p/base/p2ptransportchannel.h b/webrtc/p2p/base/p2ptransportchannel.h
index 78c9528..a9312b7 100644
--- a/webrtc/p2p/base/p2ptransportchannel.h
+++ b/webrtc/p2p/base/p2ptransportchannel.h
@@ -242,7 +242,7 @@
   uint64 tiebreaker_;
   uint32 remote_candidate_generation_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(P2PTransportChannel);
+  DISALLOW_COPY_AND_ASSIGN(P2PTransportChannel);
 };
 
 }  // namespace cricket
diff --git a/webrtc/p2p/base/packetsocketfactory.h b/webrtc/p2p/base/packetsocketfactory.h
index d2d7b1b..23acb30 100644
--- a/webrtc/p2p/base/packetsocketfactory.h
+++ b/webrtc/p2p/base/packetsocketfactory.h
@@ -50,7 +50,7 @@
   virtual AsyncResolverInterface* CreateAsyncResolver() = 0;
 
  private:
-  DISALLOW_EVIL_CONSTRUCTORS(PacketSocketFactory);
+  DISALLOW_COPY_AND_ASSIGN(PacketSocketFactory);
 };
 
 }  // namespace rtc
diff --git a/webrtc/p2p/base/rawtransport.h b/webrtc/p2p/base/rawtransport.h
index bf0560b..065dc0e 100644
--- a/webrtc/p2p/base/rawtransport.h
+++ b/webrtc/p2p/base/rawtransport.h
@@ -36,7 +36,7 @@
  private:
   friend class RawTransportChannel;  // For ParseAddress.
 
-  DISALLOW_EVIL_CONSTRUCTORS(RawTransport);
+  DISALLOW_COPY_AND_ASSIGN(RawTransport);
 };
 
 }  // namespace cricket
diff --git a/webrtc/p2p/base/rawtransportchannel.h b/webrtc/p2p/base/rawtransportchannel.h
index 3455325..10da168 100644
--- a/webrtc/p2p/base/rawtransportchannel.h
+++ b/webrtc/p2p/base/rawtransportchannel.h
@@ -189,7 +189,7 @@
   // Handles a message to destroy unused ports.
   virtual void OnMessage(rtc::Message *msg);
 
-  DISALLOW_EVIL_CONSTRUCTORS(RawTransportChannel);
+  DISALLOW_COPY_AND_ASSIGN(RawTransportChannel);
 };
 
 }  // namespace cricket
diff --git a/webrtc/p2p/base/transport.h b/webrtc/p2p/base/transport.h
index eda112b..c4ab03d 100644
--- a/webrtc/p2p/base/transport.h
+++ b/webrtc/p2p/base/transport.h
@@ -440,7 +440,7 @@
   // Protects changes to channels and messages
   rtc::CriticalSection crit_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(Transport);
+  DISALLOW_COPY_AND_ASSIGN(Transport);
 };
 
 // Extract a TransportProtocol from a TransportDescription.
diff --git a/webrtc/p2p/base/transportchannel.h b/webrtc/p2p/base/transportchannel.h
index 3d32b63..7d0d1f4 100644
--- a/webrtc/p2p/base/transportchannel.h
+++ b/webrtc/p2p/base/transportchannel.h
@@ -150,7 +150,7 @@
   bool readable_;
   bool writable_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(TransportChannel);
+  DISALLOW_COPY_AND_ASSIGN(TransportChannel);
 };
 
 }  // namespace cricket
diff --git a/webrtc/p2p/base/transportchannelimpl.h b/webrtc/p2p/base/transportchannelimpl.h
index 6c2eac8..db62c9a 100644
--- a/webrtc/p2p/base/transportchannelimpl.h
+++ b/webrtc/p2p/base/transportchannelimpl.h
@@ -102,7 +102,7 @@
   sigslot::signal1<TransportChannelImpl*> SignalConnectionRemoved;
 
  private:
-  DISALLOW_EVIL_CONSTRUCTORS(TransportChannelImpl);
+  DISALLOW_COPY_AND_ASSIGN(TransportChannelImpl);
 };
 
 }  // namespace cricket
diff --git a/webrtc/p2p/base/transportchannelproxy.h b/webrtc/p2p/base/transportchannelproxy.h
index 23cd20b..3a69bcc 100644
--- a/webrtc/p2p/base/transportchannelproxy.h
+++ b/webrtc/p2p/base/transportchannelproxy.h
@@ -88,7 +88,7 @@
   OptionList options_;
   std::vector<std::string> pending_srtp_ciphers_;
 
-  DISALLOW_EVIL_CONSTRUCTORS(TransportChannelProxy);
+  DISALLOW_COPY_AND_ASSIGN(TransportChannelProxy);
 };
 
 }  // namespace cricket