diff --git a/modules/audio_coding/codecs/audio_decoder.h b/modules/audio_coding/codecs/audio_decoder.h
index 5e9e33d..556268c 100644
--- a/modules/audio_coding/codecs/audio_decoder.h
+++ b/modules/audio_coding/codecs/audio_decoder.h
@@ -115,7 +115,7 @@
                                       SpeechType* speech_type);
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(AudioDecoder);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioDecoder);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/codecs/isac/audio_encoder_isac_t.h b/modules/audio_coding/codecs/isac/audio_encoder_isac_t.h
index 686b45a..50d369b 100644
--- a/modules/audio_coding/codecs/isac/audio_encoder_isac_t.h
+++ b/modules/audio_coding/codecs/isac/audio_encoder_isac_t.h
@@ -91,7 +91,7 @@
   // Timestamp of the previously encoded packet.
   uint32_t last_encoded_timestamp_;
 
-  DISALLOW_COPY_AND_ASSIGN(AudioEncoderIsacT);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioEncoderIsacT);
 };
 
 template <typename T>
@@ -122,7 +122,7 @@
   LockedIsacBandwidthInfo* bwinfo_;
   int decoder_sample_rate_hz_;
 
-  DISALLOW_COPY_AND_ASSIGN(AudioDecoderIsacT);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioDecoderIsacT);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/codecs/opus/interface/audio_decoder_opus.h b/modules/audio_coding/codecs/opus/interface/audio_decoder_opus.h
index 9fa77b0..4dd5157 100644
--- a/modules/audio_coding/codecs/opus/interface/audio_decoder_opus.h
+++ b/modules/audio_coding/codecs/opus/interface/audio_decoder_opus.h
@@ -43,7 +43,7 @@
  private:
   OpusDecInst* dec_state_;
   const size_t channels_;
-  DISALLOW_COPY_AND_ASSIGN(AudioDecoderOpus);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioDecoderOpus);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/main/acm2/acm_receive_test.h b/modules/audio_coding/main/acm2/acm_receive_test.h
index a1e0142..80e9fbe 100644
--- a/modules/audio_coding/main/acm2/acm_receive_test.h
+++ b/modules/audio_coding/main/acm2/acm_receive_test.h
@@ -56,7 +56,7 @@
   const int output_freq_hz_;
   NumOutputChannels expected_output_channels_;
 
-  DISALLOW_COPY_AND_ASSIGN(AcmReceiveTest);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AcmReceiveTest);
 };
 
 }  // namespace test
diff --git a/modules/audio_coding/main/acm2/acm_receive_test_oldapi.h b/modules/audio_coding/main/acm2/acm_receive_test_oldapi.h
index 8e80ca7..6c12097 100644
--- a/modules/audio_coding/main/acm2/acm_receive_test_oldapi.h
+++ b/modules/audio_coding/main/acm2/acm_receive_test_oldapi.h
@@ -64,7 +64,7 @@
   int output_freq_hz_;
   NumOutputChannels exptected_output_channels_;
 
-  DISALLOW_COPY_AND_ASSIGN(AcmReceiveTestOldApi);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AcmReceiveTestOldApi);
 };
 
 // This test toggles the output frequency every |toggle_period_ms|. The test
diff --git a/modules/audio_coding/main/acm2/acm_send_test.h b/modules/audio_coding/main/acm2/acm_send_test.h
index 09fe9e6..b0d26ba 100644
--- a/modules/audio_coding/main/acm2/acm_send_test.h
+++ b/modules/audio_coding/main/acm2/acm_send_test.h
@@ -74,7 +74,7 @@
   uint16_t sequence_number_;
   std::vector<uint8_t> last_payload_vec_;
 
-  DISALLOW_COPY_AND_ASSIGN(AcmSendTest);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AcmSendTest);
 };
 
 }  // namespace test
diff --git a/modules/audio_coding/main/acm2/acm_send_test_oldapi.h b/modules/audio_coding/main/acm2/acm_send_test_oldapi.h
index 523498b..7d17cb1 100644
--- a/modules/audio_coding/main/acm2/acm_send_test_oldapi.h
+++ b/modules/audio_coding/main/acm2/acm_send_test_oldapi.h
@@ -83,7 +83,7 @@
   std::vector<uint8_t> last_payload_vec_;
   bool data_to_send_;
 
-  DISALLOW_COPY_AND_ASSIGN(AcmSendTestOldApi);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AcmSendTestOldApi);
 };
 
 }  // namespace test
diff --git a/modules/audio_coding/main/acm2/codec_manager.h b/modules/audio_coding/main/acm2/codec_manager.h
index 3372b7f..2337521 100644
--- a/modules/audio_coding/main/acm2/codec_manager.h
+++ b/modules/audio_coding/main/acm2/codec_manager.h
@@ -82,7 +82,7 @@
   CodecOwner codec_owner_;
   bool encoder_is_opus_;
 
-  DISALLOW_COPY_AND_ASSIGN(CodecManager);
+  RTC_DISALLOW_COPY_AND_ASSIGN(CodecManager);
 };
 
 }  // namespace acm2
diff --git a/modules/audio_coding/main/acm2/codec_owner.h b/modules/audio_coding/main/acm2/codec_owner.h
index cb533b6..ae7e452 100644
--- a/modules/audio_coding/main/acm2/codec_owner.h
+++ b/modules/audio_coding/main/acm2/codec_owner.h
@@ -70,7 +70,7 @@
   rtc::scoped_ptr<AudioEncoder> cng_encoder_;
   rtc::scoped_ptr<AudioEncoder> red_encoder_;
 
-  DISALLOW_COPY_AND_ASSIGN(CodecOwner);
+  RTC_DISALLOW_COPY_AND_ASSIGN(CodecOwner);
 };
 
 }  // namespace acm2
diff --git a/modules/audio_coding/neteq/accelerate.h b/modules/audio_coding/neteq/accelerate.h
index 1238b77..f66bc8e 100644
--- a/modules/audio_coding/neteq/accelerate.h
+++ b/modules/audio_coding/neteq/accelerate.h
@@ -65,7 +65,7 @@
                                       AudioMultiVector* output) const override;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(Accelerate);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Accelerate);
 };
 
 struct AccelerateFactory {
diff --git a/modules/audio_coding/neteq/audio_decoder_impl.h b/modules/audio_coding/neteq/audio_decoder_impl.h
index 6be344b..345f4d5 100644
--- a/modules/audio_coding/neteq/audio_decoder_impl.h
+++ b/modules/audio_coding/neteq/audio_decoder_impl.h
@@ -46,7 +46,7 @@
                      SpeechType* speech_type) override;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(AudioDecoderPcmU);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioDecoderPcmU);
 };
 
 class AudioDecoderPcmA : public AudioDecoder {
@@ -64,7 +64,7 @@
                      SpeechType* speech_type) override;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(AudioDecoderPcmA);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioDecoderPcmA);
 };
 
 class AudioDecoderPcmUMultiCh : public AudioDecoderPcmU {
@@ -77,7 +77,7 @@
 
  private:
   const size_t channels_;
-  DISALLOW_COPY_AND_ASSIGN(AudioDecoderPcmUMultiCh);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioDecoderPcmUMultiCh);
 };
 
 class AudioDecoderPcmAMultiCh : public AudioDecoderPcmA {
@@ -90,7 +90,7 @@
 
  private:
   const size_t channels_;
-  DISALLOW_COPY_AND_ASSIGN(AudioDecoderPcmAMultiCh);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioDecoderPcmAMultiCh);
 };
 
 #ifdef WEBRTC_CODEC_PCM16
@@ -111,7 +111,7 @@
                      SpeechType* speech_type) override;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(AudioDecoderPcm16B);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioDecoderPcm16B);
 };
 
 // This class handles all four types (i.e., sample rates) of PCM16B codecs.
@@ -124,7 +124,7 @@
 
  private:
   const size_t channels_;
-  DISALLOW_COPY_AND_ASSIGN(AudioDecoderPcm16BMultiCh);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioDecoderPcm16BMultiCh);
 };
 #endif
 
@@ -147,7 +147,7 @@
 
  private:
   IlbcDecoderInstance* dec_state_;
-  DISALLOW_COPY_AND_ASSIGN(AudioDecoderIlbc);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioDecoderIlbc);
 };
 #endif
 
@@ -170,7 +170,7 @@
 
  private:
   G722DecInst* dec_state_;
-  DISALLOW_COPY_AND_ASSIGN(AudioDecoderG722);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioDecoderG722);
 };
 
 class AudioDecoderG722Stereo : public AudioDecoder {
@@ -199,7 +199,7 @@
   G722DecInst* dec_state_left_;
   G722DecInst* dec_state_right_;
 
-  DISALLOW_COPY_AND_ASSIGN(AudioDecoderG722Stereo);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioDecoderG722Stereo);
 };
 #endif
 
@@ -232,7 +232,7 @@
 
  private:
   CNG_dec_inst* dec_state_;
-  DISALLOW_COPY_AND_ASSIGN(AudioDecoderCng);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioDecoderCng);
 };
 
 enum NetEqDecoder {
diff --git a/modules/audio_coding/neteq/audio_multi_vector.h b/modules/audio_coding/neteq/audio_multi_vector.h
index 0aae9e3..1c28648 100644
--- a/modules/audio_coding/neteq/audio_multi_vector.h
+++ b/modules/audio_coding/neteq/audio_multi_vector.h
@@ -132,7 +132,7 @@
   size_t num_channels_;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(AudioMultiVector);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioMultiVector);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/audio_vector.h b/modules/audio_coding/neteq/audio_vector.h
index b44fbff..e046e38 100644
--- a/modules/audio_coding/neteq/audio_vector.h
+++ b/modules/audio_coding/neteq/audio_vector.h
@@ -105,7 +105,7 @@
                           // Note that this index may point outside of array_.
   size_t capacity_;  // Allocated number of samples in the array.
 
-  DISALLOW_COPY_AND_ASSIGN(AudioVector);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioVector);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/background_noise.h b/modules/audio_coding/neteq/background_noise.h
index 9ad12b7..2c67f21 100644
--- a/modules/audio_coding/neteq/background_noise.h
+++ b/modules/audio_coding/neteq/background_noise.h
@@ -130,7 +130,7 @@
   bool initialized_;
   NetEq::BackgroundNoiseMode mode_;
 
-  DISALLOW_COPY_AND_ASSIGN(BackgroundNoise);
+  RTC_DISALLOW_COPY_AND_ASSIGN(BackgroundNoise);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/buffer_level_filter.h b/modules/audio_coding/neteq/buffer_level_filter.h
index add3cc4..0308706 100644
--- a/modules/audio_coding/neteq/buffer_level_filter.h
+++ b/modules/audio_coding/neteq/buffer_level_filter.h
@@ -42,7 +42,7 @@
   int level_factor_;  // Filter factor for the buffer level filter in Q8.
   int filtered_current_level_;  // Filtered current buffer level in Q8.
 
-  DISALLOW_COPY_AND_ASSIGN(BufferLevelFilter);
+  RTC_DISALLOW_COPY_AND_ASSIGN(BufferLevelFilter);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/comfort_noise.h b/modules/audio_coding/neteq/comfort_noise.h
index d465596..1fc2258 100644
--- a/modules/audio_coding/neteq/comfort_noise.h
+++ b/modules/audio_coding/neteq/comfort_noise.h
@@ -66,7 +66,7 @@
   DecoderDatabase* decoder_database_;
   SyncBuffer* sync_buffer_;
   int internal_error_code_;
-  DISALLOW_COPY_AND_ASSIGN(ComfortNoise);
+  RTC_DISALLOW_COPY_AND_ASSIGN(ComfortNoise);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/decision_logic.h b/modules/audio_coding/neteq/decision_logic.h
index cb3dba0..30f7ddd 100644
--- a/modules/audio_coding/neteq/decision_logic.h
+++ b/modules/audio_coding/neteq/decision_logic.h
@@ -161,7 +161,7 @@
   const NetEqPlayoutMode playout_mode_;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(DecisionLogic);
+  RTC_DISALLOW_COPY_AND_ASSIGN(DecisionLogic);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/decision_logic_fax.h b/modules/audio_coding/neteq/decision_logic_fax.h
index 861e2fa..204dcc1 100644
--- a/modules/audio_coding/neteq/decision_logic_fax.h
+++ b/modules/audio_coding/neteq/decision_logic_fax.h
@@ -53,7 +53,7 @@
                                     bool* reset_decoder) override;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(DecisionLogicFax);
+  RTC_DISALLOW_COPY_AND_ASSIGN(DecisionLogicFax);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/decision_logic_normal.h b/modules/audio_coding/neteq/decision_logic_normal.h
index 7867407..7465906 100644
--- a/modules/audio_coding/neteq/decision_logic_normal.h
+++ b/modules/audio_coding/neteq/decision_logic_normal.h
@@ -99,7 +99,7 @@
   // Checks if num_consecutive_expands_ >= kMaxWaitForPacket.
   bool MaxWaitForPacket() const;
 
-  DISALLOW_COPY_AND_ASSIGN(DecisionLogicNormal);
+  RTC_DISALLOW_COPY_AND_ASSIGN(DecisionLogicNormal);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/decoder_database.h b/modules/audio_coding/neteq/decoder_database.h
index 1dbc685..8ce0b69 100644
--- a/modules/audio_coding/neteq/decoder_database.h
+++ b/modules/audio_coding/neteq/decoder_database.h
@@ -147,7 +147,7 @@
   int active_decoder_;
   int active_cng_decoder_;
 
-  DISALLOW_COPY_AND_ASSIGN(DecoderDatabase);
+  RTC_DISALLOW_COPY_AND_ASSIGN(DecoderDatabase);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/delay_manager.h b/modules/audio_coding/neteq/delay_manager.h
index b0d3f2e..785fced 100644
--- a/modules/audio_coding/neteq/delay_manager.h
+++ b/modules/audio_coding/neteq/delay_manager.h
@@ -157,7 +157,7 @@
   DelayPeakDetector& peak_detector_;
   int last_pack_cng_or_dtmf_;
 
-  DISALLOW_COPY_AND_ASSIGN(DelayManager);
+  RTC_DISALLOW_COPY_AND_ASSIGN(DelayManager);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/delay_peak_detector.h b/modules/audio_coding/neteq/delay_peak_detector.h
index bf8ab74..69433b4 100644
--- a/modules/audio_coding/neteq/delay_peak_detector.h
+++ b/modules/audio_coding/neteq/delay_peak_detector.h
@@ -69,7 +69,7 @@
   int peak_detection_threshold_;
   int peak_period_counter_ms_;
 
-  DISALLOW_COPY_AND_ASSIGN(DelayPeakDetector);
+  RTC_DISALLOW_COPY_AND_ASSIGN(DelayPeakDetector);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/dsp_helper.h b/modules/audio_coding/neteq/dsp_helper.h
index c40d10a..269c2eb 100644
--- a/modules/audio_coding/neteq/dsp_helper.h
+++ b/modules/audio_coding/neteq/dsp_helper.h
@@ -130,7 +130,7 @@
   // Table of constants used in method DspHelper::ParabolicFit().
   static const int16_t kParabolaCoefficients[17][3];
 
-  DISALLOW_COPY_AND_ASSIGN(DspHelper);
+  RTC_DISALLOW_COPY_AND_ASSIGN(DspHelper);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/dtmf_buffer.h b/modules/audio_coding/neteq/dtmf_buffer.h
index 861a948..1f415ce 100644
--- a/modules/audio_coding/neteq/dtmf_buffer.h
+++ b/modules/audio_coding/neteq/dtmf_buffer.h
@@ -107,7 +107,7 @@
 
   DtmfList buffer_;
 
-  DISALLOW_COPY_AND_ASSIGN(DtmfBuffer);
+  RTC_DISALLOW_COPY_AND_ASSIGN(DtmfBuffer);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/dtmf_tone_generator.h b/modules/audio_coding/neteq/dtmf_tone_generator.h
index 767f66c..36d902a 100644
--- a/modules/audio_coding/neteq/dtmf_tone_generator.h
+++ b/modules/audio_coding/neteq/dtmf_tone_generator.h
@@ -48,7 +48,7 @@
   int16_t sample_history1_[2];  // Last 2 samples for the 1st oscillator.
   int16_t sample_history2_[2];  // Last 2 samples for the 2nd oscillator.
 
-  DISALLOW_COPY_AND_ASSIGN(DtmfToneGenerator);
+  RTC_DISALLOW_COPY_AND_ASSIGN(DtmfToneGenerator);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/expand.h b/modules/audio_coding/neteq/expand.h
index 37e58d6..25c8c21 100644
--- a/modules/audio_coding/neteq/expand.h
+++ b/modules/audio_coding/neteq/expand.h
@@ -140,7 +140,7 @@
   size_t expand_duration_samples_;
   rtc::scoped_ptr<ChannelParameters[]> channel_parameters_;
 
-  DISALLOW_COPY_AND_ASSIGN(Expand);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Expand);
 };
 
 struct ExpandFactory {
diff --git a/modules/audio_coding/neteq/interface/neteq.h b/modules/audio_coding/neteq/interface/neteq.h
index 54458b9..48e8fd5 100644
--- a/modules/audio_coding/neteq/interface/neteq.h
+++ b/modules/audio_coding/neteq/interface/neteq.h
@@ -281,7 +281,7 @@
   NetEq() {}
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(NetEq);
+  RTC_DISALLOW_COPY_AND_ASSIGN(NetEq);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/merge.h b/modules/audio_coding/neteq/merge.h
index 727e9a6..a168502 100644
--- a/modules/audio_coding/neteq/merge.h
+++ b/modules/audio_coding/neteq/merge.h
@@ -96,7 +96,7 @@
   int16_t input_downsampled_[kInputDownsampLength];
   AudioMultiVector expanded_;
 
-  DISALLOW_COPY_AND_ASSIGN(Merge);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Merge);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/mock/mock_external_decoder_pcm16b.h b/modules/audio_coding/neteq/mock/mock_external_decoder_pcm16b.h
index fca1c2d..8cf89c0 100644
--- a/modules/audio_coding/neteq/mock/mock_external_decoder_pcm16b.h
+++ b/modules/audio_coding/neteq/mock/mock_external_decoder_pcm16b.h
@@ -43,7 +43,7 @@
   size_t Channels() const override { return 1; }
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(ExternalPcm16B);
+  RTC_DISALLOW_COPY_AND_ASSIGN(ExternalPcm16B);
 };
 
 // Create a mock of ExternalPcm16B which delegates all calls to the real object.
diff --git a/modules/audio_coding/neteq/neteq_impl.h b/modules/audio_coding/neteq/neteq_impl.h
index 6a45db6..effecba 100644
--- a/modules/audio_coding/neteq/neteq_impl.h
+++ b/modules/audio_coding/neteq/neteq_impl.h
@@ -399,7 +399,7 @@
   uint32_t decoded_packet_timestamp_ GUARDED_BY(crit_sect_);
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(NetEqImpl);
+  RTC_DISALLOW_COPY_AND_ASSIGN(NetEqImpl);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/normal.h b/modules/audio_coding/neteq/normal.h
index aa24b52..23887f5 100644
--- a/modules/audio_coding/neteq/normal.h
+++ b/modules/audio_coding/neteq/normal.h
@@ -61,7 +61,7 @@
   const BackgroundNoise& background_noise_;
   Expand* expand_;
 
-  DISALLOW_COPY_AND_ASSIGN(Normal);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Normal);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/packet_buffer.h b/modules/audio_coding/neteq/packet_buffer.h
index 737845e..03c11e6 100644
--- a/modules/audio_coding/neteq/packet_buffer.h
+++ b/modules/audio_coding/neteq/packet_buffer.h
@@ -148,7 +148,7 @@
  private:
   size_t max_number_of_packets_;
   PacketList buffer_;
-  DISALLOW_COPY_AND_ASSIGN(PacketBuffer);
+  RTC_DISALLOW_COPY_AND_ASSIGN(PacketBuffer);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/payload_splitter.h b/modules/audio_coding/neteq/payload_splitter.h
index 6023d4e..b0c4b5f 100644
--- a/modules/audio_coding/neteq/payload_splitter.h
+++ b/modules/audio_coding/neteq/payload_splitter.h
@@ -83,7 +83,7 @@
                             uint32_t timestamps_per_frame,
                             PacketList* new_packets);
 
-  DISALLOW_COPY_AND_ASSIGN(PayloadSplitter);
+  RTC_DISALLOW_COPY_AND_ASSIGN(PayloadSplitter);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/post_decode_vad.h b/modules/audio_coding/neteq/post_decode_vad.h
index 2886cf9..7bf5ad1 100644
--- a/modules/audio_coding/neteq/post_decode_vad.h
+++ b/modules/audio_coding/neteq/post_decode_vad.h
@@ -65,7 +65,7 @@
   int sid_interval_counter_;
   ::VadInst* vad_instance_;
 
-  DISALLOW_COPY_AND_ASSIGN(PostDecodeVad);
+  RTC_DISALLOW_COPY_AND_ASSIGN(PostDecodeVad);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/preemptive_expand.h b/modules/audio_coding/neteq/preemptive_expand.h
index ca48e19..c4c2360 100644
--- a/modules/audio_coding/neteq/preemptive_expand.h
+++ b/modules/audio_coding/neteq/preemptive_expand.h
@@ -70,7 +70,7 @@
   size_t old_data_length_per_channel_;
   size_t overlap_samples_;
 
-  DISALLOW_COPY_AND_ASSIGN(PreemptiveExpand);
+  RTC_DISALLOW_COPY_AND_ASSIGN(PreemptiveExpand);
 };
 
 struct PreemptiveExpandFactory {
diff --git a/modules/audio_coding/neteq/random_vector.h b/modules/audio_coding/neteq/random_vector.h
index 8c75eae..61651e5 100644
--- a/modules/audio_coding/neteq/random_vector.h
+++ b/modules/audio_coding/neteq/random_vector.h
@@ -43,7 +43,7 @@
   uint32_t seed_;
   int16_t seed_increment_;
 
-  DISALLOW_COPY_AND_ASSIGN(RandomVector);
+  RTC_DISALLOW_COPY_AND_ASSIGN(RandomVector);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/rtcp.h b/modules/audio_coding/neteq/rtcp.h
index 2a765ef..5235397 100644
--- a/modules/audio_coding/neteq/rtcp.h
+++ b/modules/audio_coding/neteq/rtcp.h
@@ -51,7 +51,7 @@
   uint32_t jitter_;  // Current jitter value.
   int32_t transit_;  // Clock difference for previous packet.
 
-  DISALLOW_COPY_AND_ASSIGN(Rtcp);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Rtcp);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/statistics_calculator.h b/modules/audio_coding/neteq/statistics_calculator.h
index 5bb66b6..08235df 100644
--- a/modules/audio_coding/neteq/statistics_calculator.h
+++ b/modules/audio_coding/neteq/statistics_calculator.h
@@ -160,7 +160,7 @@
   PeriodicUmaCount delayed_packet_outage_counter_;
   PeriodicUmaAverage excess_buffer_delay_;
 
-  DISALLOW_COPY_AND_ASSIGN(StatisticsCalculator);
+  RTC_DISALLOW_COPY_AND_ASSIGN(StatisticsCalculator);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/sync_buffer.h b/modules/audio_coding/neteq/sync_buffer.h
index bbb494e..38e7887 100644
--- a/modules/audio_coding/neteq/sync_buffer.h
+++ b/modules/audio_coding/neteq/sync_buffer.h
@@ -92,7 +92,7 @@
   uint32_t end_timestamp_;  // The timestamp of the last sample in the buffer.
   size_t dtmf_index_;  // Index to the first non-DTMF sample in the buffer.
 
-  DISALLOW_COPY_AND_ASSIGN(SyncBuffer);
+  RTC_DISALLOW_COPY_AND_ASSIGN(SyncBuffer);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/time_stretch.h b/modules/audio_coding/neteq/time_stretch.h
index 14383d8..00a1415 100644
--- a/modules/audio_coding/neteq/time_stretch.h
+++ b/modules/audio_coding/neteq/time_stretch.h
@@ -109,7 +109,7 @@
   bool SpeechDetection(int32_t vec1_energy, int32_t vec2_energy,
                        size_t peak_index, int scaling) const;
 
-  DISALLOW_COPY_AND_ASSIGN(TimeStretch);
+  RTC_DISALLOW_COPY_AND_ASSIGN(TimeStretch);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/timestamp_scaler.h b/modules/audio_coding/neteq/timestamp_scaler.h
index fcbb773..9129d84 100644
--- a/modules/audio_coding/neteq/timestamp_scaler.h
+++ b/modules/audio_coding/neteq/timestamp_scaler.h
@@ -61,7 +61,7 @@
   uint32_t internal_ref_;
   const DecoderDatabase& decoder_database_;
 
-  DISALLOW_COPY_AND_ASSIGN(TimestampScaler);
+  RTC_DISALLOW_COPY_AND_ASSIGN(TimestampScaler);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/tools/audio_checksum.h b/modules/audio_coding/neteq/tools/audio_checksum.h
index b4a6a81..a302cff 100644
--- a/modules/audio_coding/neteq/tools/audio_checksum.h
+++ b/modules/audio_coding/neteq/tools/audio_checksum.h
@@ -51,7 +51,7 @@
   char checksum_result_[rtc::Md5Digest::kSize];
   bool finished_;
 
-  DISALLOW_COPY_AND_ASSIGN(AudioChecksum);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioChecksum);
 };
 
 }  // namespace test
diff --git a/modules/audio_coding/neteq/tools/audio_loop.h b/modules/audio_coding/neteq/tools/audio_loop.h
index 87ff688..a897ee5 100644
--- a/modules/audio_coding/neteq/tools/audio_loop.h
+++ b/modules/audio_coding/neteq/tools/audio_loop.h
@@ -51,7 +51,7 @@
   size_t block_length_samples_;
   rtc::scoped_ptr<int16_t[]> audio_array_;
 
-  DISALLOW_COPY_AND_ASSIGN(AudioLoop);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioLoop);
 };
 
 }  // namespace test
diff --git a/modules/audio_coding/neteq/tools/audio_sink.h b/modules/audio_coding/neteq/tools/audio_sink.h
index b7b3ed1..3bd2df5 100644
--- a/modules/audio_coding/neteq/tools/audio_sink.h
+++ b/modules/audio_coding/neteq/tools/audio_sink.h
@@ -38,7 +38,7 @@
   }
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(AudioSink);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioSink);
 };
 
 // Forks the output audio to two AudioSink objects.
@@ -56,7 +56,7 @@
   AudioSink* left_sink_;
   AudioSink* right_sink_;
 
-  DISALLOW_COPY_AND_ASSIGN(AudioSinkFork);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioSinkFork);
 };
 }  // namespace test
 }  // namespace webrtc
diff --git a/modules/audio_coding/neteq/tools/constant_pcm_packet_source.h b/modules/audio_coding/neteq/tools/constant_pcm_packet_source.h
index b780fbf..6972303 100644
--- a/modules/audio_coding/neteq/tools/constant_pcm_packet_source.h
+++ b/modules/audio_coding/neteq/tools/constant_pcm_packet_source.h
@@ -49,7 +49,7 @@
   uint32_t timestamp_;
   const uint32_t payload_ssrc_;
 
-  DISALLOW_COPY_AND_ASSIGN(ConstantPcmPacketSource);
+  RTC_DISALLOW_COPY_AND_ASSIGN(ConstantPcmPacketSource);
 };
 
 }  // namespace test
diff --git a/modules/audio_coding/neteq/tools/input_audio_file.h b/modules/audio_coding/neteq/tools/input_audio_file.h
index fae5573..a6e12db 100644
--- a/modules/audio_coding/neteq/tools/input_audio_file.h
+++ b/modules/audio_coding/neteq/tools/input_audio_file.h
@@ -50,7 +50,7 @@
 
  private:
   FILE* fp_;
-  DISALLOW_COPY_AND_ASSIGN(InputAudioFile);
+  RTC_DISALLOW_COPY_AND_ASSIGN(InputAudioFile);
 };
 
 }  // namespace test
diff --git a/modules/audio_coding/neteq/tools/output_audio_file.h b/modules/audio_coding/neteq/tools/output_audio_file.h
index ff30f67..a9142a6 100644
--- a/modules/audio_coding/neteq/tools/output_audio_file.h
+++ b/modules/audio_coding/neteq/tools/output_audio_file.h
@@ -42,7 +42,7 @@
  private:
   FILE* out_file_;
 
-  DISALLOW_COPY_AND_ASSIGN(OutputAudioFile);
+  RTC_DISALLOW_COPY_AND_ASSIGN(OutputAudioFile);
 };
 
 }  // namespace test
diff --git a/modules/audio_coding/neteq/tools/output_wav_file.h b/modules/audio_coding/neteq/tools/output_wav_file.h
index 1b1ed42..c36c7da 100644
--- a/modules/audio_coding/neteq/tools/output_wav_file.h
+++ b/modules/audio_coding/neteq/tools/output_wav_file.h
@@ -35,7 +35,7 @@
  private:
   WavWriter wav_writer_;
 
-  DISALLOW_COPY_AND_ASSIGN(OutputWavFile);
+  RTC_DISALLOW_COPY_AND_ASSIGN(OutputWavFile);
 };
 
 }  // namespace test
diff --git a/modules/audio_coding/neteq/tools/packet.h b/modules/audio_coding/neteq/tools/packet.h
index a4e48d8..8e43633 100644
--- a/modules/audio_coding/neteq/tools/packet.h
+++ b/modules/audio_coding/neteq/tools/packet.h
@@ -114,7 +114,7 @@
   double time_ms_;     // Used to denote a packet's arrival time.
   bool valid_header_;  // Set by the RtpHeaderParser.
 
-  DISALLOW_COPY_AND_ASSIGN(Packet);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Packet);
 };
 
 }  // namespace test
diff --git a/modules/audio_coding/neteq/tools/packet_source.h b/modules/audio_coding/neteq/tools/packet_source.h
index 968400c..804a94d 100644
--- a/modules/audio_coding/neteq/tools/packet_source.h
+++ b/modules/audio_coding/neteq/tools/packet_source.h
@@ -46,7 +46,7 @@
   uint32_t ssrc_;  // The selected SSRC. All other SSRCs will be discarded.
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(PacketSource);
+  RTC_DISALLOW_COPY_AND_ASSIGN(PacketSource);
 };
 
 }  // namespace test
diff --git a/modules/audio_coding/neteq/tools/resample_input_audio_file.h b/modules/audio_coding/neteq/tools/resample_input_audio_file.h
index b15d46f..c0af354 100644
--- a/modules/audio_coding/neteq/tools/resample_input_audio_file.h
+++ b/modules/audio_coding/neteq/tools/resample_input_audio_file.h
@@ -43,7 +43,7 @@
   const int file_rate_hz_;
   int output_rate_hz_;
   Resampler resampler_;
-  DISALLOW_COPY_AND_ASSIGN(ResampleInputAudioFile);
+  RTC_DISALLOW_COPY_AND_ASSIGN(ResampleInputAudioFile);
 };
 
 }  // namespace test
diff --git a/modules/audio_coding/neteq/tools/rtc_event_log_source.h b/modules/audio_coding/neteq/tools/rtc_event_log_source.h
index d144b51..7150bcf 100644
--- a/modules/audio_coding/neteq/tools/rtc_event_log_source.h
+++ b/modules/audio_coding/neteq/tools/rtc_event_log_source.h
@@ -61,7 +61,7 @@
   rtc::scoped_ptr<rtclog::EventStream> event_log_;
   rtc::scoped_ptr<RtpHeaderParser> parser_;
 
-  DISALLOW_COPY_AND_ASSIGN(RtcEventLogSource);
+  RTC_DISALLOW_COPY_AND_ASSIGN(RtcEventLogSource);
 };
 
 }  // namespace test
diff --git a/modules/audio_coding/neteq/tools/rtp_file_source.h b/modules/audio_coding/neteq/tools/rtp_file_source.h
index d711685..d0856a8 100644
--- a/modules/audio_coding/neteq/tools/rtp_file_source.h
+++ b/modules/audio_coding/neteq/tools/rtp_file_source.h
@@ -55,7 +55,7 @@
   rtc::scoped_ptr<RtpFileReader> rtp_reader_;
   rtc::scoped_ptr<RtpHeaderParser> parser_;
 
-  DISALLOW_COPY_AND_ASSIGN(RtpFileSource);
+  RTC_DISALLOW_COPY_AND_ASSIGN(RtpFileSource);
 };
 
 }  // namespace test
diff --git a/modules/audio_coding/neteq/tools/rtp_generator.h b/modules/audio_coding/neteq/tools/rtp_generator.h
index e09f6e4..6c16192 100644
--- a/modules/audio_coding/neteq/tools/rtp_generator.h
+++ b/modules/audio_coding/neteq/tools/rtp_generator.h
@@ -54,7 +54,7 @@
   double drift_factor_;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(RtpGenerator);
+  RTC_DISALLOW_COPY_AND_ASSIGN(RtpGenerator);
 };
 
 class TimestampJumpRtpGenerator : public RtpGenerator {
@@ -75,7 +75,7 @@
  private:
   uint32_t jump_from_timestamp_;
   uint32_t jump_to_timestamp_;
-  DISALLOW_COPY_AND_ASSIGN(TimestampJumpRtpGenerator);
+  RTC_DISALLOW_COPY_AND_ASSIGN(TimestampJumpRtpGenerator);
 };
 
 }  // namespace test
diff --git a/modules/audio_device/linux/latebindingsymboltable_linux.h b/modules/audio_device/linux/latebindingsymboltable_linux.h
index f49931e..2d8fafa 100644
--- a/modules/audio_device/linux/latebindingsymboltable_linux.h
+++ b/modules/audio_device/linux/latebindingsymboltable_linux.h
@@ -119,7 +119,7 @@
   bool undefined_symbols_;
   void *symbols_[SYMBOL_TABLE_SIZE];
 
-  DISALLOW_COPY_AND_ASSIGN(LateBindingSymbolTable);
+  RTC_DISALLOW_COPY_AND_ASSIGN(LateBindingSymbolTable);
 };
 
 // This macro must be invoked in a header to declare a symbol table class.
diff --git a/modules/audio_processing/beamformer/matrix.h b/modules/audio_processing/beamformer/matrix.h
index 1a961af..442ddce 100644
--- a/modules/audio_processing/beamformer/matrix.h
+++ b/modules/audio_processing/beamformer/matrix.h
@@ -360,7 +360,7 @@
     return *this;
   }
 
-  DISALLOW_COPY_AND_ASSIGN(Matrix);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Matrix);
 };
 
 }  // namespace webrtc
diff --git a/modules/audio_processing/test/test_utils.h b/modules/audio_processing/test/test_utils.h
index 7ad462c..8dd380b 100644
--- a/modules/audio_processing/test/test_utils.h
+++ b/modules/audio_processing/test/test_utils.h
@@ -40,7 +40,7 @@
  private:
   FILE* file_handle_;
 
-  DISALLOW_COPY_AND_ASSIGN(RawFile);
+  RTC_DISALLOW_COPY_AND_ASSIGN(RawFile);
 };
 
 void WriteIntData(const int16_t* data,
diff --git a/modules/bitrate_controller/bitrate_controller_impl.h b/modules/bitrate_controller/bitrate_controller_impl.h
index a0131e2..a33a0e6 100644
--- a/modules/bitrate_controller/bitrate_controller_impl.h
+++ b/modules/bitrate_controller/bitrate_controller_impl.h
@@ -80,7 +80,7 @@
   int64_t last_rtt_ms_ GUARDED_BY(critsect_);
   uint32_t last_reserved_bitrate_bps_ GUARDED_BY(critsect_);
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(BitrateControllerImpl);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(BitrateControllerImpl);
 };
 }  // namespace webrtc
 #endif  // WEBRTC_MODULES_BITRATE_CONTROLLER_BITRATE_CONTROLLER_IMPL_H_
diff --git a/modules/desktop_capture/cropped_desktop_frame.cc b/modules/desktop_capture/cropped_desktop_frame.cc
index 9ab6fe9..2c70973 100644
--- a/modules/desktop_capture/cropped_desktop_frame.cc
+++ b/modules/desktop_capture/cropped_desktop_frame.cc
@@ -20,7 +20,7 @@
  private:
   rtc::scoped_ptr<DesktopFrame> frame_;
 
-  DISALLOW_COPY_AND_ASSIGN(CroppedDesktopFrame);
+  RTC_DISALLOW_COPY_AND_ASSIGN(CroppedDesktopFrame);
 };
 
 DesktopFrame*
diff --git a/modules/desktop_capture/desktop_and_cursor_composer.cc b/modules/desktop_capture/desktop_and_cursor_composer.cc
index f5a7fe8..74d25d4 100644
--- a/modules/desktop_capture/desktop_and_cursor_composer.cc
+++ b/modules/desktop_capture/desktop_and_cursor_composer.cc
@@ -67,7 +67,7 @@
   DesktopVector restore_position_;
   rtc::scoped_ptr<DesktopFrame> restore_frame_;
 
-  DISALLOW_COPY_AND_ASSIGN(DesktopFrameWithCursor);
+  RTC_DISALLOW_COPY_AND_ASSIGN(DesktopFrameWithCursor);
 };
 
 DesktopFrameWithCursor::DesktopFrameWithCursor(DesktopFrame* frame,
diff --git a/modules/desktop_capture/desktop_and_cursor_composer.h b/modules/desktop_capture/desktop_and_cursor_composer.h
index b16cf45..7a72031 100644
--- a/modules/desktop_capture/desktop_and_cursor_composer.h
+++ b/modules/desktop_capture/desktop_and_cursor_composer.h
@@ -55,7 +55,7 @@
   MouseCursorMonitor::CursorState cursor_state_;
   DesktopVector cursor_position_;
 
-  DISALLOW_COPY_AND_ASSIGN(DesktopAndCursorComposer);
+  RTC_DISALLOW_COPY_AND_ASSIGN(DesktopAndCursorComposer);
 };
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/desktop_frame.h b/modules/desktop_capture/desktop_frame.h
index d7376b4..49b9646 100644
--- a/modules/desktop_capture/desktop_frame.h
+++ b/modules/desktop_capture/desktop_frame.h
@@ -91,7 +91,7 @@
   rtc::scoped_ptr<DesktopRegion> shape_;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(DesktopFrame);
+  RTC_DISALLOW_COPY_AND_ASSIGN(DesktopFrame);
 };
 
 // A DesktopFrame that stores data in the heap.
@@ -104,7 +104,7 @@
   static DesktopFrame* CopyOf(const DesktopFrame& frame);
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(BasicDesktopFrame);
+  RTC_DISALLOW_COPY_AND_ASSIGN(BasicDesktopFrame);
 };
 
 // A DesktopFrame that stores data in shared memory.
@@ -117,7 +117,7 @@
   ~SharedMemoryDesktopFrame() override;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(SharedMemoryDesktopFrame);
+  RTC_DISALLOW_COPY_AND_ASSIGN(SharedMemoryDesktopFrame);
 };
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/desktop_frame_win.h b/modules/desktop_capture/desktop_frame_win.h
index 9530fdc..15b5883 100644
--- a/modules/desktop_capture/desktop_frame_win.h
+++ b/modules/desktop_capture/desktop_frame_win.h
@@ -40,7 +40,7 @@
   HBITMAP bitmap_;
   rtc::scoped_ptr<SharedMemory> owned_shared_memory_;
 
-  DISALLOW_COPY_AND_ASSIGN(DesktopFrameWin);
+  RTC_DISALLOW_COPY_AND_ASSIGN(DesktopFrameWin);
 };
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/differ.h b/modules/desktop_capture/differ.h
index 224c691..b3b0e7c 100644
--- a/modules/desktop_capture/differ.h
+++ b/modules/desktop_capture/differ.h
@@ -81,7 +81,7 @@
   int diff_info_height_;
   int diff_info_size_;
 
-  DISALLOW_COPY_AND_ASSIGN(Differ);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Differ);
 };
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/differ_unittest.cc b/modules/desktop_capture/differ_unittest.cc
index 3b6f859..642cb37 100644
--- a/modules/desktop_capture/differ_unittest.cc
+++ b/modules/desktop_capture/differ_unittest.cc
@@ -204,7 +204,7 @@
   rtc::scoped_ptr<uint8_t[]> curr_;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(DifferTest);
+  RTC_DISALLOW_COPY_AND_ASSIGN(DifferTest);
 };
 
 TEST_F(DifferTest, Setup) {
diff --git a/modules/desktop_capture/mac/desktop_configuration_monitor.h b/modules/desktop_capture/mac/desktop_configuration_monitor.h
index bd502f0..fe6f01b 100644
--- a/modules/desktop_capture/mac/desktop_configuration_monitor.h
+++ b/modules/desktop_capture/mac/desktop_configuration_monitor.h
@@ -58,7 +58,7 @@
   MacDesktopConfiguration desktop_configuration_;
   rtc::scoped_ptr<EventWrapper> display_configuration_capture_event_;
 
-  DISALLOW_COPY_AND_ASSIGN(DesktopConfigurationMonitor);
+  RTC_DISALLOW_COPY_AND_ASSIGN(DesktopConfigurationMonitor);
 };
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/mac/full_screen_chrome_window_detector.h b/modules/desktop_capture/mac/full_screen_chrome_window_detector.h
index b24fc99..bddc809 100644
--- a/modules/desktop_capture/mac/full_screen_chrome_window_detector.h
+++ b/modules/desktop_capture/mac/full_screen_chrome_window_detector.h
@@ -61,7 +61,7 @@
   WindowCapturer::WindowList previous_window_list_;
   TickTime last_udpate_time_;
 
-  DISALLOW_COPY_AND_ASSIGN(FullScreenChromeWindowDetector);
+  RTC_DISALLOW_COPY_AND_ASSIGN(FullScreenChromeWindowDetector);
 };
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/mac/scoped_pixel_buffer_object.h b/modules/desktop_capture/mac/scoped_pixel_buffer_object.h
index 4d1dd1f..a32d470 100644
--- a/modules/desktop_capture/mac/scoped_pixel_buffer_object.h
+++ b/modules/desktop_capture/mac/scoped_pixel_buffer_object.h
@@ -33,7 +33,7 @@
   CGLContextObj cgl_context_;
   GLuint pixel_buffer_object_;
 
-  DISALLOW_COPY_AND_ASSIGN(ScopedPixelBufferObject);
+  RTC_DISALLOW_COPY_AND_ASSIGN(ScopedPixelBufferObject);
 };
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/mouse_cursor.h b/modules/desktop_capture/mouse_cursor.h
index 1da98a4..dd5dc0e 100644
--- a/modules/desktop_capture/mouse_cursor.h
+++ b/modules/desktop_capture/mouse_cursor.h
@@ -40,7 +40,7 @@
   rtc::scoped_ptr<DesktopFrame> image_;
   DesktopVector hotspot_;
 
-  DISALLOW_COPY_AND_ASSIGN(MouseCursor);
+  RTC_DISALLOW_COPY_AND_ASSIGN(MouseCursor);
 };
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/screen_capture_frame_queue.h b/modules/desktop_capture/screen_capture_frame_queue.h
index f3b11cf..6cd9e3b 100644
--- a/modules/desktop_capture/screen_capture_frame_queue.h
+++ b/modules/desktop_capture/screen_capture_frame_queue.h
@@ -66,7 +66,7 @@
   static const int kQueueLength = 2;
   rtc::scoped_ptr<SharedDesktopFrame> frames_[kQueueLength];
 
-  DISALLOW_COPY_AND_ASSIGN(ScreenCaptureFrameQueue);
+  RTC_DISALLOW_COPY_AND_ASSIGN(ScreenCaptureFrameQueue);
 };
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/screen_capturer_helper.h b/modules/desktop_capture/screen_capturer_helper.h
index a8be989..cc60203 100644
--- a/modules/desktop_capture/screen_capturer_helper.h
+++ b/modules/desktop_capture/screen_capturer_helper.h
@@ -80,7 +80,7 @@
   // If the value is <= 0, then the invalid region is not expanded to a grid.
   int log_grid_size_;
 
-  DISALLOW_COPY_AND_ASSIGN(ScreenCapturerHelper);
+  RTC_DISALLOW_COPY_AND_ASSIGN(ScreenCapturerHelper);
 };
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/screen_capturer_mac.mm b/modules/desktop_capture/screen_capturer_mac.mm
index ceb0781..8da56d2 100644
--- a/modules/desktop_capture/screen_capturer_mac.mm
+++ b/modules/desktop_capture/screen_capturer_mac.mm
@@ -280,7 +280,7 @@
 
   CGWindowID excluded_window_;
 
-  DISALLOW_COPY_AND_ASSIGN(ScreenCapturerMac);
+  RTC_DISALLOW_COPY_AND_ASSIGN(ScreenCapturerMac);
 };
 
 // DesktopFrame wrapper that flips wrapped frame upside down by inverting
@@ -303,7 +303,7 @@
  private:
   rtc::scoped_ptr<DesktopFrame> original_frame_;
 
-  DISALLOW_COPY_AND_ASSIGN(InvertedDesktopFrame);
+  RTC_DISALLOW_COPY_AND_ASSIGN(InvertedDesktopFrame);
 };
 
 ScreenCapturerMac::ScreenCapturerMac(
diff --git a/modules/desktop_capture/screen_capturer_mock_objects.h b/modules/desktop_capture/screen_capturer_mock_objects.h
index 373e66f..8b83f41 100644
--- a/modules/desktop_capture/screen_capturer_mock_objects.h
+++ b/modules/desktop_capture/screen_capturer_mock_objects.h
@@ -27,7 +27,7 @@
   MOCK_METHOD1(SelectScreen, bool(ScreenId id));
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(MockScreenCapturer);
+  RTC_DISALLOW_COPY_AND_ASSIGN(MockScreenCapturer);
 };
 
 class MockScreenCapturerCallback : public ScreenCapturer::Callback {
@@ -39,7 +39,7 @@
   MOCK_METHOD1(OnCaptureCompleted, void(DesktopFrame*));
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(MockScreenCapturerCallback);
+  RTC_DISALLOW_COPY_AND_ASSIGN(MockScreenCapturerCallback);
 };
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/screen_capturer_unittest.cc b/modules/desktop_capture/screen_capturer_unittest.cc
index 606c061..a3cf6d9 100644
--- a/modules/desktop_capture/screen_capturer_unittest.cc
+++ b/modules/desktop_capture/screen_capturer_unittest.cc
@@ -51,7 +51,7 @@
   }
  private:
   char* buffer_;
-  DISALLOW_COPY_AND_ASSIGN(FakeSharedMemory);
+  RTC_DISALLOW_COPY_AND_ASSIGN(FakeSharedMemory);
 };
 
 SharedMemory* ScreenCapturerTest::CreateSharedMemory(size_t size) {
diff --git a/modules/desktop_capture/screen_capturer_x11.cc b/modules/desktop_capture/screen_capturer_x11.cc
index 1597e3f..714583b 100644
--- a/modules/desktop_capture/screen_capturer_x11.cc
+++ b/modules/desktop_capture/screen_capturer_x11.cc
@@ -121,7 +121,7 @@
   // |Differ| for use when polling for changes.
   rtc::scoped_ptr<Differ> differ_;
 
-  DISALLOW_COPY_AND_ASSIGN(ScreenCapturerLinux);
+  RTC_DISALLOW_COPY_AND_ASSIGN(ScreenCapturerLinux);
 };
 
 ScreenCapturerLinux::ScreenCapturerLinux()
diff --git a/modules/desktop_capture/shared_desktop_frame.cc b/modules/desktop_capture/shared_desktop_frame.cc
index 7651816..97190e0 100644
--- a/modules/desktop_capture/shared_desktop_frame.cc
+++ b/modules/desktop_capture/shared_desktop_frame.cc
@@ -41,7 +41,7 @@
   Atomic32 ref_count_;
   rtc::scoped_ptr<DesktopFrame> frame_;
 
-  DISALLOW_COPY_AND_ASSIGN(Core);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Core);
 };
 
 SharedDesktopFrame::~SharedDesktopFrame() {}
diff --git a/modules/desktop_capture/shared_desktop_frame.h b/modules/desktop_capture/shared_desktop_frame.h
index 12d373a..7d18db1 100644
--- a/modules/desktop_capture/shared_desktop_frame.h
+++ b/modules/desktop_capture/shared_desktop_frame.h
@@ -41,7 +41,7 @@
 
   rtc::scoped_refptr<Core> core_;
 
-  DISALLOW_COPY_AND_ASSIGN(SharedDesktopFrame);
+  RTC_DISALLOW_COPY_AND_ASSIGN(SharedDesktopFrame);
 };
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/shared_memory.h b/modules/desktop_capture/shared_memory.h
index 7870d83..631f119 100644
--- a/modules/desktop_capture/shared_memory.h
+++ b/modules/desktop_capture/shared_memory.h
@@ -59,7 +59,7 @@
   const int id_;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(SharedMemory);
+  RTC_DISALLOW_COPY_AND_ASSIGN(SharedMemory);
 };
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/win/desktop.h b/modules/desktop_capture/win/desktop.h
index 0f3e64d..dc3b8c6 100644
--- a/modules/desktop_capture/win/desktop.h
+++ b/modules/desktop_capture/win/desktop.h
@@ -56,7 +56,7 @@
   // True if |desktop_| must be closed on teardown.
   bool own_;
 
-  DISALLOW_COPY_AND_ASSIGN(Desktop);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Desktop);
 };
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/win/scoped_gdi_object.h b/modules/desktop_capture/win/scoped_gdi_object.h
index 366df6d..1cac63e 100644
--- a/modules/desktop_capture/win/scoped_gdi_object.h
+++ b/modules/desktop_capture/win/scoped_gdi_object.h
@@ -56,7 +56,7 @@
  private:
   T handle_;
 
-  DISALLOW_COPY_AND_ASSIGN(ScopedGDIObject);
+  RTC_DISALLOW_COPY_AND_ASSIGN(ScopedGDIObject);
 };
 
 // The traits class that uses DeleteObject() to close a handle.
@@ -70,7 +70,7 @@
   }
 
  private:
-  DISALLOW_IMPLICIT_CONSTRUCTORS(DeleteObjectTraits);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(DeleteObjectTraits);
 };
 
 // The traits class that uses DestroyCursor() to close a handle.
@@ -83,7 +83,7 @@
   }
 
  private:
-  DISALLOW_IMPLICIT_CONSTRUCTORS(DestroyCursorTraits);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(DestroyCursorTraits);
 };
 
 typedef ScopedGDIObject<HBITMAP, DeleteObjectTraits<HBITMAP> > ScopedBitmap;
diff --git a/modules/desktop_capture/win/scoped_thread_desktop.h b/modules/desktop_capture/win/scoped_thread_desktop.h
index 7566e6a..df8652a 100644
--- a/modules/desktop_capture/win/scoped_thread_desktop.h
+++ b/modules/desktop_capture/win/scoped_thread_desktop.h
@@ -45,7 +45,7 @@
   // The desktop handle assigned to the calling thread at creation.
   rtc::scoped_ptr<Desktop> initial_;
 
-  DISALLOW_COPY_AND_ASSIGN(ScopedThreadDesktop);
+  RTC_DISALLOW_COPY_AND_ASSIGN(ScopedThreadDesktop);
 };
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/win/screen_capturer_win_gdi.h b/modules/desktop_capture/win/screen_capturer_win_gdi.h
index 6014a18..202b9aa 100644
--- a/modules/desktop_capture/win/screen_capturer_win_gdi.h
+++ b/modules/desktop_capture/win/screen_capturer_win_gdi.h
@@ -81,7 +81,7 @@
   // Used to suppress duplicate logging of SetThreadExecutionState errors.
   bool set_thread_execution_state_failed_;
 
-  DISALLOW_COPY_AND_ASSIGN(ScreenCapturerWinGdi);
+  RTC_DISALLOW_COPY_AND_ASSIGN(ScreenCapturerWinGdi);
 };
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/win/screen_capturer_win_magnifier.h b/modules/desktop_capture/win/screen_capturer_win_magnifier.h
index b33b873..9ad6b58d9 100644
--- a/modules/desktop_capture/win/screen_capturer_win_magnifier.h
+++ b/modules/desktop_capture/win/screen_capturer_win_magnifier.h
@@ -145,7 +145,7 @@
   // successfully. Reset at the beginning of each CaptureImage call.
   bool magnifier_capture_succeeded_;
 
-  DISALLOW_COPY_AND_ASSIGN(ScreenCapturerWinMagnifier);
+  RTC_DISALLOW_COPY_AND_ASSIGN(ScreenCapturerWinMagnifier);
 };
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/win/window_capture_utils.h b/modules/desktop_capture/win/window_capture_utils.h
index aa89c12..7c80490 100644
--- a/modules/desktop_capture/win/window_capture_utils.h
+++ b/modules/desktop_capture/win/window_capture_utils.h
@@ -34,7 +34,7 @@
   HMODULE dwmapi_library_;
   DwmIsCompositionEnabledFunc func_;
 
-  DISALLOW_COPY_AND_ASSIGN(AeroChecker);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AeroChecker);
 };
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/window_capturer_mac.mm b/modules/desktop_capture/window_capturer_mac.mm
index 3acca67..ecf6bee 100644
--- a/modules/desktop_capture/window_capturer_mac.mm
+++ b/modules/desktop_capture/window_capturer_mac.mm
@@ -66,7 +66,7 @@
   rtc::scoped_refptr<FullScreenChromeWindowDetector>
       full_screen_chrome_window_detector_;
 
-  DISALLOW_COPY_AND_ASSIGN(WindowCapturerMac);
+  RTC_DISALLOW_COPY_AND_ASSIGN(WindowCapturerMac);
 };
 
 WindowCapturerMac::WindowCapturerMac(rtc::scoped_refptr<
diff --git a/modules/desktop_capture/window_capturer_null.cc b/modules/desktop_capture/window_capturer_null.cc
index d9ad0ca..b74f17e 100755
--- a/modules/desktop_capture/window_capturer_null.cc
+++ b/modules/desktop_capture/window_capturer_null.cc
@@ -35,7 +35,7 @@
  private:
   Callback* callback_;
 
-  DISALLOW_COPY_AND_ASSIGN(WindowCapturerNull);
+  RTC_DISALLOW_COPY_AND_ASSIGN(WindowCapturerNull);
 };
 
 WindowCapturerNull::WindowCapturerNull()
diff --git a/modules/desktop_capture/window_capturer_win.cc b/modules/desktop_capture/window_capturer_win.cc
index 3d96881..ba45eaa 100644
--- a/modules/desktop_capture/window_capturer_win.cc
+++ b/modules/desktop_capture/window_capturer_win.cc
@@ -89,7 +89,7 @@
 
   AeroChecker aero_checker_;
 
-  DISALLOW_COPY_AND_ASSIGN(WindowCapturerWin);
+  RTC_DISALLOW_COPY_AND_ASSIGN(WindowCapturerWin);
 };
 
 WindowCapturerWin::WindowCapturerWin()
diff --git a/modules/desktop_capture/window_capturer_x11.cc b/modules/desktop_capture/window_capturer_x11.cc
index 3568305..76c95eb 100755
--- a/modules/desktop_capture/window_capturer_x11.cc
+++ b/modules/desktop_capture/window_capturer_x11.cc
@@ -82,7 +82,7 @@
   unsigned long size_;  // NOLINT: type required by XGetWindowProperty
   unsigned char* data_;
 
-  DISALLOW_COPY_AND_ASSIGN(XWindowProperty);
+  RTC_DISALLOW_COPY_AND_ASSIGN(XWindowProperty);
 };
 
 class WindowCapturerLinux : public WindowCapturer,
@@ -129,7 +129,7 @@
   ::Window selected_window_;
   XServerPixelBuffer x_server_pixel_buffer_;
 
-  DISALLOW_COPY_AND_ASSIGN(WindowCapturerLinux);
+  RTC_DISALLOW_COPY_AND_ASSIGN(WindowCapturerLinux);
 };
 
 WindowCapturerLinux::WindowCapturerLinux(const DesktopCaptureOptions& options)
diff --git a/modules/desktop_capture/x11/shared_x_display.h b/modules/desktop_capture/x11/shared_x_display.h
index 11c5bf4..0275545 100644
--- a/modules/desktop_capture/x11/shared_x_display.h
+++ b/modules/desktop_capture/x11/shared_x_display.h
@@ -76,7 +76,7 @@
 
   EventHandlersMap event_handlers_;
 
-  DISALLOW_COPY_AND_ASSIGN(SharedXDisplay);
+  RTC_DISALLOW_COPY_AND_ASSIGN(SharedXDisplay);
 };
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/x11/x_error_trap.h b/modules/desktop_capture/x11/x_error_trap.h
index aa77114..f1f6e11 100644
--- a/modules/desktop_capture/x11/x_error_trap.h
+++ b/modules/desktop_capture/x11/x_error_trap.h
@@ -31,7 +31,7 @@
   XErrorHandler original_error_handler_;
   bool enabled_;
 
-  DISALLOW_COPY_AND_ASSIGN(XErrorTrap);
+  RTC_DISALLOW_COPY_AND_ASSIGN(XErrorTrap);
 };
 
 }  // namespace webrtc
diff --git a/modules/desktop_capture/x11/x_server_pixel_buffer.h b/modules/desktop_capture/x11/x_server_pixel_buffer.h
index 98f263f..d1e6632 100644
--- a/modules/desktop_capture/x11/x_server_pixel_buffer.h
+++ b/modules/desktop_capture/x11/x_server_pixel_buffer.h
@@ -77,7 +77,7 @@
   Pixmap shm_pixmap_;
   GC shm_gc_;
 
-  DISALLOW_COPY_AND_ASSIGN(XServerPixelBuffer);
+  RTC_DISALLOW_COPY_AND_ASSIGN(XServerPixelBuffer);
 };
 
 }  // namespace webrtc
diff --git a/modules/interface/module_common_types.h b/modules/interface/module_common_types.h
index b371e47..67019ca 100644
--- a/modules/interface/module_common_types.h
+++ b/modules/interface/module_common_types.h
@@ -392,7 +392,7 @@
   uint8_t* fragmentationPlType;      // Payload type of each fragmentation
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(RTPFragmentationHeader);
+  RTC_DISALLOW_COPY_AND_ASSIGN(RTPFragmentationHeader);
 };
 
 struct RTCPVoIPMetric {
@@ -542,7 +542,7 @@
   bool interleaved_;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(AudioFrame);
+  RTC_DISALLOW_COPY_AND_ASSIGN(AudioFrame);
 };
 
 inline AudioFrame::AudioFrame()
diff --git a/modules/pacing/include/packet_router.h b/modules/pacing/include/packet_router.h
index c181ec0..d0bcf55 100644
--- a/modules/pacing/include/packet_router.h
+++ b/modules/pacing/include/packet_router.h
@@ -56,7 +56,7 @@
 
   volatile int transport_seq_;
 
-  DISALLOW_COPY_AND_ASSIGN(PacketRouter);
+  RTC_DISALLOW_COPY_AND_ASSIGN(PacketRouter);
 };
 }  // namespace webrtc
 #endif  // WEBRTC_MODULES_PACING_INCLUDE_PACKET_ROUTER_H_
diff --git a/modules/remote_bitrate_estimator/aimd_rate_control.h b/modules/remote_bitrate_estimator/aimd_rate_control.h
index b8c47a4..696b780 100644
--- a/modules/remote_bitrate_estimator/aimd_rate_control.h
+++ b/modules/remote_bitrate_estimator/aimd_rate_control.h
@@ -82,7 +82,7 @@
   int64_t time_of_last_log_;
   bool in_experiment_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(AimdRateControl);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(AimdRateControl);
 };
 }  // namespace webrtc
 
diff --git a/modules/remote_bitrate_estimator/bwe_simulations.cc b/modules/remote_bitrate_estimator/bwe_simulations.cc
index 35b3a86..9d86ba3 100644
--- a/modules/remote_bitrate_estimator/bwe_simulations.cc
+++ b/modules/remote_bitrate_estimator/bwe_simulations.cc
@@ -39,7 +39,7 @@
   Random random_;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(BweSimulation);
+  RTC_DISALLOW_COPY_AND_ASSIGN(BweSimulation);
 };
 
 INSTANTIATE_TEST_CASE_P(VideoSendersTest,
diff --git a/modules/remote_bitrate_estimator/include/send_time_history.h b/modules/remote_bitrate_estimator/include/send_time_history.h
index b01a62b..e104ba6 100644
--- a/modules/remote_bitrate_estimator/include/send_time_history.h
+++ b/modules/remote_bitrate_estimator/include/send_time_history.h
@@ -40,7 +40,7 @@
   uint16_t oldest_sequence_number_;  // Oldest may not be lowest.
   std::map<uint16_t, PacketInfo> history_;
 
-  DISALLOW_COPY_AND_ASSIGN(SendTimeHistory);
+  RTC_DISALLOW_COPY_AND_ASSIGN(SendTimeHistory);
 };
 
 }  // namespace webrtc
diff --git a/modules/remote_bitrate_estimator/inter_arrival.h b/modules/remote_bitrate_estimator/inter_arrival.h
index ace8551..427bafc 100644
--- a/modules/remote_bitrate_estimator/inter_arrival.h
+++ b/modules/remote_bitrate_estimator/inter_arrival.h
@@ -78,7 +78,7 @@
   double timestamp_to_ms_coeff_;
   bool burst_grouping_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(InterArrival);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(InterArrival);
 };
 }  // namespace webrtc
 
diff --git a/modules/remote_bitrate_estimator/overuse_detector.h b/modules/remote_bitrate_estimator/overuse_detector.h
index 5a07b4e..bb69a8a 100644
--- a/modules/remote_bitrate_estimator/overuse_detector.h
+++ b/modules/remote_bitrate_estimator/overuse_detector.h
@@ -59,7 +59,7 @@
   int overuse_counter_;
   BandwidthUsage hypothesis_;
 
-  DISALLOW_COPY_AND_ASSIGN(OveruseDetector);
+  RTC_DISALLOW_COPY_AND_ASSIGN(OveruseDetector);
 };
 }  // namespace webrtc
 
diff --git a/modules/remote_bitrate_estimator/overuse_estimator.h b/modules/remote_bitrate_estimator/overuse_estimator.h
index 6499d8d..d671f39 100644
--- a/modules/remote_bitrate_estimator/overuse_estimator.h
+++ b/modules/remote_bitrate_estimator/overuse_estimator.h
@@ -63,7 +63,7 @@
   double var_noise_;
   std::list<double> ts_delta_hist_;
 
-  DISALLOW_COPY_AND_ASSIGN(OveruseEstimator);
+  RTC_DISALLOW_COPY_AND_ASSIGN(OveruseEstimator);
 };
 }  // namespace webrtc
 
diff --git a/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h b/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h
index 1bee6bd..bfbe36a 100644
--- a/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h
+++ b/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h
@@ -146,7 +146,7 @@
   size_t total_probes_received_;
   int64_t first_packet_time_ms_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(RemoteBitrateEstimatorAbsSendTime);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(RemoteBitrateEstimatorAbsSendTime);
 };
 
 }  // namespace webrtc
diff --git a/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc b/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc
index c2137d8..692f882 100644
--- a/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc
+++ b/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc
@@ -26,7 +26,7 @@
         kRemoteBitrateEstimatorMinBitrateBps));
   }
  protected:
-  DISALLOW_COPY_AND_ASSIGN(RemoteBitrateEstimatorAbsSendTimeTest);
+  RTC_DISALLOW_COPY_AND_ASSIGN(RemoteBitrateEstimatorAbsSendTimeTest);
 };
 
 TEST_F(RemoteBitrateEstimatorAbsSendTimeTest, InitialBehavior) {
diff --git a/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.h b/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.h
index 5ca2100..6d07ad1 100644
--- a/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.h
+++ b/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.h
@@ -61,7 +61,7 @@
   int64_t last_process_time_;
   int64_t process_interval_ms_ GUARDED_BY(crit_sect_.get());
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(RemoteBitrateEstimatorSingleStream);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(RemoteBitrateEstimatorSingleStream);
 };
 
 }  // namespace webrtc
diff --git a/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc b/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc
index ea4e268..b0d0fe7 100644
--- a/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc
+++ b/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc
@@ -26,7 +26,7 @@
         kRemoteBitrateEstimatorMinBitrateBps));
   }
  protected:
-  DISALLOW_COPY_AND_ASSIGN(RemoteBitrateEstimatorSingleTest);
+  RTC_DISALLOW_COPY_AND_ASSIGN(RemoteBitrateEstimatorSingleTest);
 };
 
 TEST_F(RemoteBitrateEstimatorSingleTest, InitialBehavior) {
diff --git a/modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h b/modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h
index 0658ec5..b4fe713 100644
--- a/modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h
+++ b/modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h
@@ -100,7 +100,7 @@
   uint32_t rtp_timestamp_offset_;
   const double kNtpFracPerMs;
 
-  DISALLOW_COPY_AND_ASSIGN(RtpStream);
+  RTC_DISALLOW_COPY_AND_ASSIGN(RtpStream);
 };
 
 class StreamGenerator {
@@ -138,7 +138,7 @@
   // All streams being transmitted on this simulated channel.
   StreamMap streams_;
 
-  DISALLOW_COPY_AND_ASSIGN(StreamGenerator);
+  RTC_DISALLOW_COPY_AND_ASSIGN(StreamGenerator);
 };
 }  // namespace testing
 
@@ -211,7 +211,7 @@
   rtc::scoped_ptr<RemoteBitrateEstimator> bitrate_estimator_;
   rtc::scoped_ptr<testing::StreamGenerator> stream_generator_;
 
-  DISALLOW_COPY_AND_ASSIGN(RemoteBitrateEstimatorTest);
+  RTC_DISALLOW_COPY_AND_ASSIGN(RemoteBitrateEstimatorTest);
 };
 }  // namespace webrtc
 
diff --git a/modules/remote_bitrate_estimator/remote_bitrate_estimators_test.cc b/modules/remote_bitrate_estimator/remote_bitrate_estimators_test.cc
index f02e167..d6f049f 100644
--- a/modules/remote_bitrate_estimator/remote_bitrate_estimators_test.cc
+++ b/modules/remote_bitrate_estimator/remote_bitrate_estimators_test.cc
@@ -256,7 +256,7 @@
   }
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(BweFeedbackTest);
+  RTC_DISALLOW_COPY_AND_ASSIGN(BweFeedbackTest);
 };
 
 INSTANTIATE_TEST_CASE_P(VideoSendersTest,
diff --git a/modules/remote_bitrate_estimator/test/bwe.cc b/modules/remote_bitrate_estimator/test/bwe.cc
index 0e10f04..c667b68 100644
--- a/modules/remote_bitrate_estimator/test/bwe.cc
+++ b/modules/remote_bitrate_estimator/test/bwe.cc
@@ -70,7 +70,7 @@
   int Process() override { return 0; }
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(NullBweSender);
+  RTC_DISALLOW_COPY_AND_ASSIGN(NullBweSender);
 };
 
 int64_t GetAbsSendTimeInMs(uint32_t abs_send_time) {
diff --git a/modules/remote_bitrate_estimator/test/bwe.h b/modules/remote_bitrate_estimator/test/bwe.h
index 72e7f73..ef9b314 100644
--- a/modules/remote_bitrate_estimator/test/bwe.h
+++ b/modules/remote_bitrate_estimator/test/bwe.h
@@ -122,7 +122,7 @@
   int bitrate_kbps_;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(BweSender);
+  RTC_DISALLOW_COPY_AND_ASSIGN(BweSender);
 };
 
 class BweReceiver {
diff --git a/modules/remote_bitrate_estimator/test/bwe_test.h b/modules/remote_bitrate_estimator/test/bwe_test.h
index 3dca0ab..5fb3252 100644
--- a/modules/remote_bitrate_estimator/test/bwe_test.h
+++ b/modules/remote_bitrate_estimator/test/bwe_test.h
@@ -143,7 +143,7 @@
   Packets packets_;
   bool plot_total_available_capacity_;
 
-  DISALLOW_COPY_AND_ASSIGN(BweTest);
+  RTC_DISALLOW_COPY_AND_ASSIGN(BweTest);
 };
 
 // Default Evaluation parameters:
diff --git a/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.cc b/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.cc
index dbb5ade..d7abede 100644
--- a/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.cc
+++ b/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.cc
@@ -94,7 +94,7 @@
   rtc::scoped_ptr<ResourceFileReader> reader_;
   bool fail_to_read_response_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(BaseLineFileVerify);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(BaseLineFileVerify);
 };
 
 class BaseLineFileUpdate : public BaseLineFileInterface {
@@ -146,7 +146,7 @@
   std::vector<uint32_t> output_content_;
   std::string filepath_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(BaseLineFileUpdate);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(BaseLineFileUpdate);
 };
 
 BaseLineFileInterface* BaseLineFileInterface::Create(
diff --git a/modules/remote_bitrate_estimator/test/bwe_test_fileutils.h b/modules/remote_bitrate_estimator/test/bwe_test_fileutils.h
index e73a545..2881eba 100644
--- a/modules/remote_bitrate_estimator/test/bwe_test_fileutils.h
+++ b/modules/remote_bitrate_estimator/test/bwe_test_fileutils.h
@@ -35,7 +35,7 @@
  private:
   explicit ResourceFileReader(FILE* file) : file_(file) {}
   FILE* file_;
-  DISALLOW_IMPLICIT_CONSTRUCTORS(ResourceFileReader);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(ResourceFileReader);
 };
 
 class OutputFileWriter {
@@ -50,7 +50,7 @@
  private:
   explicit OutputFileWriter(FILE* file) : file_(file) {}
   FILE* file_;
-  DISALLOW_IMPLICIT_CONSTRUCTORS(OutputFileWriter);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(OutputFileWriter);
 };
 }  // namespace bwe
 }  // namespace testing
diff --git a/modules/remote_bitrate_estimator/test/bwe_test_framework.cc b/modules/remote_bitrate_estimator/test/bwe_test_framework.cc
index a84d6f0..2870be8 100644
--- a/modules/remote_bitrate_estimator/test/bwe_test_framework.cc
+++ b/modules/remote_bitrate_estimator/test/bwe_test_framework.cc
@@ -44,7 +44,7 @@
   int64_t max_delay_us_;
   Stats<double> delay_stats_;
 
-  DISALLOW_COPY_AND_ASSIGN(DelayCapHelper);
+  RTC_DISALLOW_COPY_AND_ASSIGN(DelayCapHelper);
 };
 
 const FlowIds CreateFlowIds(const int *flow_ids_array, size_t num_flow_ids) {
diff --git a/modules/remote_bitrate_estimator/test/bwe_test_framework.h b/modules/remote_bitrate_estimator/test/bwe_test_framework.h
index ceaa637..3cdf4a9 100644
--- a/modules/remote_bitrate_estimator/test/bwe_test_framework.h
+++ b/modules/remote_bitrate_estimator/test/bwe_test_framework.h
@@ -196,7 +196,7 @@
   uint32_t a_;
   uint32_t b_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(Random);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(Random);
 };
 
 bool IsTimeSorted(const Packets& packets);
@@ -245,7 +245,7 @@
   PacketProcessorListener* listener_;
   const FlowIds flow_ids_;
 
-  DISALLOW_COPY_AND_ASSIGN(PacketProcessor);
+  RTC_DISALLOW_COPY_AND_ASSIGN(PacketProcessor);
 };
 
 class RateCounterFilter : public PacketProcessor {
@@ -278,7 +278,7 @@
   // Algorithm name if single flow, Total link utilization if all flows.
   std::string plot_name_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(RateCounterFilter);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(RateCounterFilter);
 };
 
 class LossFilter : public PacketProcessor {
@@ -294,7 +294,7 @@
   Random random_;
   float loss_fraction_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(LossFilter);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(LossFilter);
 };
 
 class DelayFilter : public PacketProcessor {
@@ -310,7 +310,7 @@
   int64_t one_way_delay_us_;
   int64_t last_send_time_us_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(DelayFilter);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(DelayFilter);
 };
 
 class JitterFilter : public PacketProcessor {
@@ -330,7 +330,7 @@
   int64_t last_send_time_us_;
   bool reordering_;  // False by default.
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(JitterFilter);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(JitterFilter);
 };
 
 // Reorders two consecutive packets with a probability of reorder_percent.
@@ -347,7 +347,7 @@
   Random random_;
   float reorder_fraction_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(ReorderFilter);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(ReorderFilter);
 };
 
 // Apply a bitrate choke with an infinite queue on the packet stream.
@@ -372,7 +372,7 @@
   rtc::scoped_ptr<DelayCapHelper> delay_cap_helper_;
   int64_t max_delay_us_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(ChokeFilter);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(ChokeFilter);
 };
 
 class TraceBasedDeliveryFilter : public PacketProcessor {
@@ -410,7 +410,7 @@
   Stats<double> packets_per_second_stats_;
   Stats<double> kbps_stats_;
 
-  DISALLOW_COPY_AND_ASSIGN(TraceBasedDeliveryFilter);
+  RTC_DISALLOW_COPY_AND_ASSIGN(TraceBasedDeliveryFilter);
 };
 
 class VideoSource {
@@ -450,7 +450,7 @@
   int64_t start_plotting_ms_;
   uint32_t previous_bitrate_bps_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(VideoSource);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(VideoSource);
 };
 
 class AdaptiveVideoSource : public VideoSource {
@@ -465,7 +465,7 @@
   void SetBitrateBps(int bitrate_bps) override;
 
  private:
-  DISALLOW_IMPLICIT_CONSTRUCTORS(AdaptiveVideoSource);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(AdaptiveVideoSource);
 };
 
 class PeriodicKeyFrameSource : public AdaptiveVideoSource {
@@ -488,7 +488,7 @@
   uint32_t frame_counter_;
   int compensation_bytes_;
   int compensation_per_frame_;
-  DISALLOW_IMPLICIT_CONSTRUCTORS(PeriodicKeyFrameSource);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(PeriodicKeyFrameSource);
 };
 }  // namespace bwe
 }  // namespace testing
diff --git a/modules/remote_bitrate_estimator/test/bwe_test_framework_unittest.cc b/modules/remote_bitrate_estimator/test/bwe_test_framework_unittest.cc
index dc82b91..6cd6ee7 100644
--- a/modules/remote_bitrate_estimator/test/bwe_test_framework_unittest.cc
+++ b/modules/remote_bitrate_estimator/test/bwe_test_framework_unittest.cc
@@ -208,7 +208,7 @@
   RateCounterFilter filter_;
   int64_t now_ms_;
 
-  DISALLOW_COPY_AND_ASSIGN(BweTestFramework_RateCounterFilterTest);
+  RTC_DISALLOW_COPY_AND_ASSIGN(BweTestFramework_RateCounterFilterTest);
 };
 
 TEST_F(BweTestFramework_RateCounterFilterTest, Short) {
@@ -382,7 +382,7 @@
   int64_t now_ms_;
   uint16_t sequence_number_;
 
-  DISALLOW_COPY_AND_ASSIGN(BweTestFramework_DelayFilterTest);
+  RTC_DISALLOW_COPY_AND_ASSIGN(BweTestFramework_DelayFilterTest);
 };
 
 TEST_F(BweTestFramework_DelayFilterTest, Delay0) {
@@ -667,7 +667,7 @@
   Packets output_packets_;
   std::vector<int64_t> send_times_us_;
 
-  DISALLOW_COPY_AND_ASSIGN(BweTestFramework_ChokeFilterTest);
+  RTC_DISALLOW_COPY_AND_ASSIGN(BweTestFramework_ChokeFilterTest);
 };
 
 TEST_F(BweTestFramework_ChokeFilterTest, NoQueue) {
diff --git a/modules/remote_bitrate_estimator/test/bwe_test_logging.h b/modules/remote_bitrate_estimator/test/bwe_test_logging.h
index 23fce00..4115d30 100644
--- a/modules/remote_bitrate_estimator/test/bwe_test_logging.h
+++ b/modules/remote_bitrate_estimator/test/bwe_test_logging.h
@@ -248,7 +248,7 @@
     Context(const char* name, int64_t timestamp_ms, bool enabled);
     ~Context();
    private:
-    DISALLOW_IMPLICIT_CONSTRUCTORS(Context);
+    RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(Context);
   };
 
   static Logging* GetInstance();
@@ -313,7 +313,7 @@
   rtc::scoped_ptr<CriticalSectionWrapper> crit_sect_;
   ThreadMap thread_map_;
 
-  DISALLOW_COPY_AND_ASSIGN(Logging);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Logging);
 };
 }  // namespace bwe
 }  // namespace testing
diff --git a/modules/remote_bitrate_estimator/test/estimators/nada.h b/modules/remote_bitrate_estimator/test/estimators/nada.h
index 36c3eca..eee90cf 100644
--- a/modules/remote_bitrate_estimator/test/estimators/nada.h
+++ b/modules/remote_bitrate_estimator/test/estimators/nada.h
@@ -99,7 +99,7 @@
   int64_t min_round_trip_time_ms_ = 100;
   bool original_operating_mode_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(NadaBweSender);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(NadaBweSender);
 };
 
 }  // namespace bwe
diff --git a/modules/remote_bitrate_estimator/test/estimators/remb.h b/modules/remote_bitrate_estimator/test/estimators/remb.h
index 93279e6..7dfd7a8 100644
--- a/modules/remote_bitrate_estimator/test/estimators/remb.h
+++ b/modules/remote_bitrate_estimator/test/estimators/remb.h
@@ -44,7 +44,7 @@
  private:
   Clock* clock_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(RembBweSender);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(RembBweSender);
 };
 
 class RembReceiver : public BweReceiver, public RemoteBitrateObserver {
@@ -73,7 +73,7 @@
   int64_t last_feedback_ms_;
   rtc::scoped_ptr<RemoteBitrateEstimator> estimator_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(RembReceiver);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(RembReceiver);
 };
 
 }  // namespace bwe
diff --git a/modules/remote_bitrate_estimator/test/estimators/send_side.h b/modules/remote_bitrate_estimator/test/estimators/send_side.h
index 322dced..ab9abc5 100644
--- a/modules/remote_bitrate_estimator/test/estimators/send_side.h
+++ b/modules/remote_bitrate_estimator/test/estimators/send_side.h
@@ -45,7 +45,7 @@
   bool has_received_ack_;
   uint16_t last_acked_seq_num_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(FullBweSender);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(FullBweSender);
 };
 
 class SendSideBweReceiver : public BweReceiver {
diff --git a/modules/remote_bitrate_estimator/test/packet_receiver.h b/modules/remote_bitrate_estimator/test/packet_receiver.h
index 390a1f0..fb9e9fd 100644
--- a/modules/remote_bitrate_estimator/test/packet_receiver.h
+++ b/modules/remote_bitrate_estimator/test/packet_receiver.h
@@ -63,7 +63,7 @@
   std::string delay_prefix_;
   BandwidthEstimatorType bwe_type_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(PacketReceiver);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(PacketReceiver);
 };
 }  // namespace bwe
 }  // namespace testing
diff --git a/modules/remote_bitrate_estimator/test/packet_sender.h b/modules/remote_bitrate_estimator/test/packet_sender.h
index a6acea0..c42647e 100644
--- a/modules/remote_bitrate_estimator/test/packet_sender.h
+++ b/modules/remote_bitrate_estimator/test/packet_sender.h
@@ -96,7 +96,7 @@
 
  private:
   uint32_t previous_sending_bitrate_;
-  DISALLOW_COPY_AND_ASSIGN(VideoSender);
+  RTC_DISALLOW_COPY_AND_ASSIGN(VideoSender);
 };
 
 class PacedVideoSender : public VideoSender, public PacedSender::Callback {
@@ -129,7 +129,7 @@
   Packets queue_;
   Packets pacer_queue_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(PacedVideoSender);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(PacedVideoSender);
 };
 
 class TcpSender : public PacketSender {
diff --git a/modules/remote_bitrate_estimator/test/random.h b/modules/remote_bitrate_estimator/test/random.h
index 9713e43..31c1ec1 100644
--- a/modules/remote_bitrate_estimator/test/random.h
+++ b/modules/remote_bitrate_estimator/test/random.h
@@ -33,7 +33,7 @@
   uint32_t a_;
   uint32_t b_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(Random);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(Random);
 };
 }  // namespace webrtc
 
diff --git a/modules/rtp_rtcp/interface/remote_ntp_time_estimator.h b/modules/rtp_rtcp/interface/remote_ntp_time_estimator.h
index 63949f7..b1bc09a 100644
--- a/modules/rtp_rtcp/interface/remote_ntp_time_estimator.h
+++ b/modules/rtp_rtcp/interface/remote_ntp_time_estimator.h
@@ -43,7 +43,7 @@
   rtc::scoped_ptr<TimestampExtrapolator> ts_extrapolator_;
   RtcpList rtcp_list_;
   int64_t last_timing_log_ms_;
-  DISALLOW_COPY_AND_ASSIGN(RemoteNtpTimeEstimator);
+  RTC_DISALLOW_COPY_AND_ASSIGN(RemoteNtpTimeEstimator);
 };
 
 }  // namespace webrtc
diff --git a/modules/rtp_rtcp/source/rtcp_packet.h b/modules/rtp_rtcp/source/rtcp_packet.h
index cfbe8ce..f295401 100644
--- a/modules/rtp_rtcp/source/rtcp_packet.h
+++ b/modules/rtp_rtcp/source/rtcp_packet.h
@@ -140,7 +140,7 @@
   size_t BlockLength() const override;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(Empty);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Empty);
 };
 
 // From RFC 3550, RTP: A Transport Protocol for Real-Time Applications.
@@ -268,7 +268,7 @@
   RTCPUtility::RTCPPacketSR sr_;
   std::vector<RTCPUtility::RTCPPacketReportBlockItem> report_blocks_;
 
-  DISALLOW_COPY_AND_ASSIGN(SenderReport);
+  RTC_DISALLOW_COPY_AND_ASSIGN(SenderReport);
 };
 
 //
@@ -314,7 +314,7 @@
   RTCPUtility::RTCPPacketRR rr_;
   std::vector<RTCPUtility::RTCPPacketReportBlockItem> report_blocks_;
 
-  DISALLOW_COPY_AND_ASSIGN(ReceiverReport);
+  RTC_DISALLOW_COPY_AND_ASSIGN(ReceiverReport);
 };
 
 // Transmission Time Offsets in RTP Streams (RFC 5450).
@@ -359,7 +359,7 @@
 
   std::vector<uint32_t> ij_items_;
 
-  DISALLOW_COPY_AND_ASSIGN(Ij);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Ij);
 };
 
 // Source Description (SDES) (RFC 3550).
@@ -415,7 +415,7 @@
 
   std::vector<Chunk> chunks_;
 
-  DISALLOW_COPY_AND_ASSIGN(Sdes);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Sdes);
 };
 
 //
@@ -465,7 +465,7 @@
   RTCPUtility::RTCPPacketBYE bye_;
   std::vector<uint32_t> csrcs_;
 
-  DISALLOW_COPY_AND_ASSIGN(Bye);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Bye);
 };
 
 // Application-Defined packet (APP) (RFC 3550).
@@ -524,7 +524,7 @@
   uint32_t ssrc_;
   RTCPUtility::RTCPPacketAPP app_;
 
-  DISALLOW_COPY_AND_ASSIGN(App);
+  RTC_DISALLOW_COPY_AND_ASSIGN(App);
 };
 
 // RFC 4585: Feedback format.
@@ -575,7 +575,7 @@
 
   RTCPUtility::RTCPPacketPSFBPLI pli_;
 
-  DISALLOW_COPY_AND_ASSIGN(Pli);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Pli);
 };
 
 // Slice loss indication (SLI) (RFC 4585).
@@ -630,7 +630,7 @@
   RTCPUtility::RTCPPacketPSFBSLI sli_;
   RTCPUtility::RTCPPacketPSFBSLIItem sli_item_;
 
-  DISALLOW_COPY_AND_ASSIGN(Sli);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Sli);
 };
 
 // Generic NACK (RFC 4585).
@@ -671,7 +671,7 @@
   RTCPUtility::RTCPPacketRTPFBNACK nack_;
   std::vector<RTCPUtility::RTCPPacketRTPFBNACKItem> nack_fields_;
 
-  DISALLOW_COPY_AND_ASSIGN(Nack);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Nack);
 };
 
 // Reference picture selection indication (RPSI) (RFC 4585).
@@ -723,7 +723,7 @@
   uint8_t padding_bytes_;
   RTCPUtility::RTCPPacketPSFBRPSI rpsi_;
 
-  DISALLOW_COPY_AND_ASSIGN(Rpsi);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Rpsi);
 };
 
 // Full intra request (FIR) (RFC 5104).
@@ -823,7 +823,7 @@
   RTCPUtility::RTCPPacketRTPFBTMMBR tmmbr_;
   RTCPUtility::RTCPPacketRTPFBTMMBRItem tmmbr_item_;
 
-  DISALLOW_COPY_AND_ASSIGN(Tmmbr);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Tmmbr);
 };
 
 // Temporary Maximum Media Stream Bit Rate Notification (TMMBN) (RFC 5104).
@@ -869,7 +869,7 @@
   RTCPUtility::RTCPPacketRTPFBTMMBN tmmbn_;
   std::vector<RTCPUtility::RTCPPacketRTPFBTMMBRItem> tmmbn_items_;
 
-  DISALLOW_COPY_AND_ASSIGN(Tmmbn);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Tmmbn);
 };
 
 // Receiver Estimated Max Bitrate (REMB) (draft-alvestrand-rmcat-remb).
@@ -925,7 +925,7 @@
   RTCPUtility::RTCPPacketPSFBAPP remb_;
   RTCPUtility::RTCPPacketPSFBREMBItem remb_item_;
 
-  DISALLOW_COPY_AND_ASSIGN(Remb);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Remb);
 };
 
 // From RFC 3611: RTP Control Protocol Extended Reports (RTCP XR).
@@ -993,7 +993,7 @@
   std::vector<DlrrBlock> dlrr_blocks_;
   std::vector<RTCPUtility::RTCPPacketXRVOIPMetricItem> voip_metric_blocks_;
 
-  DISALLOW_COPY_AND_ASSIGN(Xr);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Xr);
 };
 
 // Receiver Reference Time Report Block (RFC 3611).
@@ -1026,7 +1026,7 @@
   friend class Xr;
   RTCPUtility::RTCPPacketXRReceiverReferenceTimeItem rrtr_block_;
 
-  DISALLOW_COPY_AND_ASSIGN(Rrtr);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Rrtr);
 };
 
 // DLRR Report Block (RFC 3611).
@@ -1060,7 +1060,7 @@
 
   std::vector<RTCPUtility::RTCPPacketXRDLRRReportBlockItem> dlrr_block_;
 
-  DISALLOW_COPY_AND_ASSIGN(Dlrr);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Dlrr);
 };
 
 // VoIP Metrics Report Block (RFC 3611).
@@ -1130,7 +1130,7 @@
   friend class Xr;
   RTCPUtility::RTCPPacketXRVOIPMetricItem metric_;
 
-  DISALLOW_COPY_AND_ASSIGN(VoipMetric);
+  RTC_DISALLOW_COPY_AND_ASSIGN(VoipMetric);
 };
 
 // Class holding a RTCP packet.
diff --git a/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h b/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h
index 1bca184..4cc1f38 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h
+++ b/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h
@@ -97,7 +97,7 @@
   bool vec_needs_two_bit_symbols_;
   uint32_t size_bytes_;
 
-  DISALLOW_COPY_AND_ASSIGN(TransportFeedback);
+  RTC_DISALLOW_COPY_AND_ASSIGN(TransportFeedback);
 };
 
 }  // namespace rtcp
diff --git a/modules/rtp_rtcp/source/rtcp_receiver_help.h b/modules/rtp_rtcp/source/rtcp_receiver_help.h
index a7f3c9f..790fe81 100644
--- a/modules/rtp_rtcp/source/rtcp_receiver_help.h
+++ b/modules/rtp_rtcp/source/rtcp_receiver_help.h
@@ -85,7 +85,7 @@
     RTCPVoIPMetric*  VoIPMetric;
 
 private:
-    DISALLOW_COPY_AND_ASSIGN(RTCPPacketInformation);
+    RTC_DISALLOW_COPY_AND_ASSIGN(RTCPPacketInformation);
 };
 
 class RTCPReceiveInformation
diff --git a/modules/rtp_rtcp/source/rtp_format_h264.h b/modules/rtp_rtcp/source/rtp_format_h264.h
index 4e92895..d5ad5fd 100644
--- a/modules/rtp_rtcp/source/rtp_format_h264.h
+++ b/modules/rtp_rtcp/source/rtp_format_h264.h
@@ -86,7 +86,7 @@
   PacketQueue packets_;
   FrameType frame_type_;
 
-  DISALLOW_COPY_AND_ASSIGN(RtpPacketizerH264);
+  RTC_DISALLOW_COPY_AND_ASSIGN(RtpPacketizerH264);
 };
 
 // Depacketizer for H264.
diff --git a/modules/rtp_rtcp/source/rtp_format_video_generic.h b/modules/rtp_rtcp/source/rtp_format_video_generic.h
index 2e7bca5..3bf72e9 100644
--- a/modules/rtp_rtcp/source/rtp_format_video_generic.h
+++ b/modules/rtp_rtcp/source/rtp_format_video_generic.h
@@ -59,7 +59,7 @@
   size_t payload_length_;
   uint8_t generic_header_;
 
-  DISALLOW_COPY_AND_ASSIGN(RtpPacketizerGeneric);
+  RTC_DISALLOW_COPY_AND_ASSIGN(RtpPacketizerGeneric);
 };
 
 // Depacketizer for generic codec.
diff --git a/modules/rtp_rtcp/source/rtp_format_vp8.h b/modules/rtp_rtcp/source/rtp_format_vp8.h
index d73dfc1..63db349 100644
--- a/modules/rtp_rtcp/source/rtp_format_vp8.h
+++ b/modules/rtp_rtcp/source/rtp_format_vp8.h
@@ -212,7 +212,7 @@
   InfoQueue packets_;
   bool packets_calculated_;
 
-  DISALLOW_COPY_AND_ASSIGN(RtpPacketizerVp8);
+  RTC_DISALLOW_COPY_AND_ASSIGN(RtpPacketizerVp8);
 };
 
 // Depacketizer for VP8.
diff --git a/modules/rtp_rtcp/source/rtp_format_vp8_test_helper.h b/modules/rtp_rtcp/source/rtp_format_vp8_test_helper.h
index 2454fb7..2fe9632 100644
--- a/modules/rtp_rtcp/source/rtp_format_vp8_test_helper.h
+++ b/modules/rtp_rtcp/source/rtp_format_vp8_test_helper.h
@@ -65,7 +65,7 @@
   bool sloppy_partitioning_;
   bool inited_;
 
-  DISALLOW_COPY_AND_ASSIGN(RtpFormatVp8TestHelper);
+  RTC_DISALLOW_COPY_AND_ASSIGN(RtpFormatVp8TestHelper);
 };
 
 }  // namespace test
diff --git a/modules/rtp_rtcp/source/rtp_format_vp9.h b/modules/rtp_rtcp/source/rtp_format_vp9.h
index 883fbce..abce7e7 100644
--- a/modules/rtp_rtcp/source/rtp_format_vp9.h
+++ b/modules/rtp_rtcp/source/rtp_format_vp9.h
@@ -91,7 +91,7 @@
   size_t payload_size_;              // The size in bytes of the payload data.
   PacketInfoQueue packets_;
 
-  DISALLOW_COPY_AND_ASSIGN(RtpPacketizerVp9);
+  RTC_DISALLOW_COPY_AND_ASSIGN(RtpPacketizerVp9);
 };
 
 
diff --git a/modules/rtp_rtcp/source/vp8_partition_aggregator.h b/modules/rtp_rtcp/source/vp8_partition_aggregator.h
index 67babcb..53b678f 100644
--- a/modules/rtp_rtcp/source/vp8_partition_aggregator.h
+++ b/modules/rtp_rtcp/source/vp8_partition_aggregator.h
@@ -78,7 +78,7 @@
   int min_parent_size_;
   bool packet_start_;
 
-  DISALLOW_COPY_AND_ASSIGN(PartitionTreeNode);
+  RTC_DISALLOW_COPY_AND_ASSIGN(PartitionTreeNode);
 };
 
 // Class that calculates the optimal aggregation of VP8 partitions smaller than
@@ -130,7 +130,7 @@
   size_t* size_vector_;
   size_t largest_partition_size_;
 
-  DISALLOW_COPY_AND_ASSIGN(Vp8PartitionAggregator);
+  RTC_DISALLOW_COPY_AND_ASSIGN(Vp8PartitionAggregator);
 };
 }  // namespace
 
diff --git a/modules/video_coding/main/source/jitter_buffer.h b/modules/video_coding/main/source/jitter_buffer.h
index 3961dff..8a05f1f 100644
--- a/modules/video_coding/main/source/jitter_buffer.h
+++ b/modules/video_coding/main/source/jitter_buffer.h
@@ -360,7 +360,7 @@
   // average_packets_per_frame converges fast if we have fewer than this many
   // frames.
   int frame_counter_;
-  DISALLOW_COPY_AND_ASSIGN(VCMJitterBuffer);
+  RTC_DISALLOW_COPY_AND_ASSIGN(VCMJitterBuffer);
 };
 }  // namespace webrtc
 
diff --git a/modules/video_coding/main/source/test/stream_generator.h b/modules/video_coding/main/source/test/stream_generator.h
index e3a2e79..7902d16 100644
--- a/modules/video_coding/main/source/test/stream_generator.h
+++ b/modules/video_coding/main/source/test/stream_generator.h
@@ -64,7 +64,7 @@
   int64_t start_time_;
   uint8_t packet_buffer_[kMaxPacketSize];
 
-  DISALLOW_COPY_AND_ASSIGN(StreamGenerator);
+  RTC_DISALLOW_COPY_AND_ASSIGN(StreamGenerator);
 };
 
 }  // namespace webrtc
diff --git a/modules/video_coding/main/test/rtp_player.cc b/modules/video_coding/main/test/rtp_player.cc
index c7a2f66..e53a4ab 100644
--- a/modules/video_coding/main/test/rtp_player.cc
+++ b/modules/video_coding/main/test/rtp_player.cc
@@ -66,7 +66,7 @@
   uint32_t ssrc_;
   uint16_t seq_num_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(RawRtpPacket);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(RawRtpPacket);
 };
 
 class LostPackets {
@@ -182,7 +182,7 @@
   Clock* clock_;
   int64_t rtt_ms_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(LostPackets);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(LostPackets);
 };
 
 class SsrcHandlers {
@@ -305,7 +305,7 @@
     const PayloadTypes& payload_types_;
     LostPackets* lost_packets_;
 
-    DISALLOW_COPY_AND_ASSIGN(Handler);
+    RTC_DISALLOW_COPY_AND_ASSIGN(Handler);
   };
 
   typedef std::map<uint32_t, Handler*> HandlerMap;
@@ -315,7 +315,7 @@
   PayloadTypes payload_types_;
   HandlerMap handlers_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(SsrcHandlers);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(SsrcHandlers);
 };
 
 class RtpPlayerImpl : public RtpPlayerInterface {
@@ -467,7 +467,7 @@
   bool reordering_;
   rtc::scoped_ptr<RawRtpPacket> reorder_buffer_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(RtpPlayerImpl);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(RtpPlayerImpl);
 };
 
 RtpPlayerInterface* Create(const std::string& input_filename,
diff --git a/modules/video_coding/main/test/test_util.h b/modules/video_coding/main/test/test_util.h
index 11fb6d4..47e055c 100644
--- a/modules/video_coding/main/test/test_util.h
+++ b/modules/video_coding/main/test/test_util.h
@@ -68,7 +68,7 @@
   int height_;
   int count_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(FileOutputFrameReceiver);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(FileOutputFrameReceiver);
 };
 
 class CmdArgs {
diff --git a/modules/video_coding/main/test/vcm_payload_sink_factory.cc b/modules/video_coding/main/test/vcm_payload_sink_factory.cc
index 2fe646e..6a6362b 100644
--- a/modules/video_coding/main/test/vcm_payload_sink_factory.cc
+++ b/modules/video_coding/main/test/vcm_payload_sink_factory.cc
@@ -95,7 +95,7 @@
   rtc::scoped_ptr<VideoCodingModule> vcm_;
   rtc::scoped_ptr<FileOutputFrameReceiver> frame_receiver_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(VcmPayloadSink);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(VcmPayloadSink);
 };
 
 VcmPayloadSinkFactory::VcmPayloadSinkFactory(
diff --git a/modules/video_coding/main/test/vcm_payload_sink_factory.h b/modules/video_coding/main/test/vcm_payload_sink_factory.h
index ca0ed56..ec94bdc 100644
--- a/modules/video_coding/main/test/vcm_payload_sink_factory.h
+++ b/modules/video_coding/main/test/vcm_payload_sink_factory.h
@@ -57,7 +57,7 @@
   rtc::scoped_ptr<CriticalSectionWrapper> crit_sect_;
   Sinks sinks_;
 
-  DISALLOW_IMPLICIT_CONSTRUCTORS(VcmPayloadSinkFactory);
+  RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(VcmPayloadSinkFactory);
 };
 }  // namespace rtpplayer
 }  // namespace webrtc
