Revert 6202 "Switch to using base/constructormagic.h and remove ..."

> Switch to using base/constructormagic.h and remove system_wrappers/interface/constructor_magic.h.
> 
> BUG=N/A
> R=andrew@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/19519004

TBR=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6210 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/common_audio/resampler/push_sinc_resampler.h b/webrtc/common_audio/resampler/push_sinc_resampler.h
index df724e2..7c804fe 100644
--- a/webrtc/common_audio/resampler/push_sinc_resampler.h
+++ b/webrtc/common_audio/resampler/push_sinc_resampler.h
@@ -11,8 +11,8 @@
 #ifndef WEBRTC_COMMON_AUDIO_RESAMPLER_PUSH_SINC_RESAMPLER_H_
 #define WEBRTC_COMMON_AUDIO_RESAMPLER_PUSH_SINC_RESAMPLER_H_
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/common_audio/resampler/sinc_resampler.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 #include "webrtc/typedefs.h"
 
diff --git a/webrtc/common_audio/resampler/sinc_resampler.h b/webrtc/common_audio/resampler/sinc_resampler.h
index 71ade79..8f4d079 100644
--- a/webrtc/common_audio/resampler/sinc_resampler.h
+++ b/webrtc/common_audio/resampler/sinc_resampler.h
@@ -14,8 +14,8 @@
 #ifndef WEBRTC_COMMON_AUDIO_RESAMPLER_SINC_RESAMPLER_H_
 #define WEBRTC_COMMON_AUDIO_RESAMPLER_SINC_RESAMPLER_H_
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/system_wrappers/interface/aligned_malloc.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 #include "webrtc/test/testsupport/gtest_prod_util.h"
 #include "webrtc/typedefs.h"
diff --git a/webrtc/common_audio/resampler/sinusoidal_linear_chirp_source.h b/webrtc/common_audio/resampler/sinusoidal_linear_chirp_source.h
index 7e9fe75..6a5cbf5 100644
--- a/webrtc/common_audio/resampler/sinusoidal_linear_chirp_source.h
+++ b/webrtc/common_audio/resampler/sinusoidal_linear_chirp_source.h
@@ -14,8 +14,8 @@
 #ifndef WEBRTC_COMMON_AUDIO_RESAMPLER_SINUSOIDAL_LINEAR_CHIRP_SOURCE_H_
 #define WEBRTC_COMMON_AUDIO_RESAMPLER_SINUSOIDAL_LINEAR_CHIRP_SOURCE_H_
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/common_audio/resampler/sinc_resampler.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 
 namespace webrtc {
 
diff --git a/webrtc/modules/audio_coding/neteq4/accelerate.h b/webrtc/modules/audio_coding/neteq4/accelerate.h
index 0ee6952..81f1abb 100644
--- a/webrtc/modules/audio_coding/neteq4/accelerate.h
+++ b/webrtc/modules/audio_coding/neteq4/accelerate.h
@@ -13,9 +13,9 @@
 
 #include <assert.h>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/audio_multi_vector.h"
 #include "webrtc/modules/audio_coding/neteq4/time_stretch.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/audio_decoder_impl.h b/webrtc/modules/audio_coding/neteq4/audio_decoder_impl.h
index 93f6c9c..5df649a 100644
--- a/webrtc/modules/audio_coding/neteq4/audio_decoder_impl.h
+++ b/webrtc/modules/audio_coding/neteq4/audio_decoder_impl.h
@@ -18,8 +18,8 @@
 // selection is made in the gypi file instead of in engine_configurations.h.
 #include "webrtc/engine_configurations.h"
 #endif
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/interface/audio_decoder.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/audio_multi_vector.h b/webrtc/modules/audio_coding/neteq4/audio_multi_vector.h
index 25f45cf..2d0a749 100644
--- a/webrtc/modules/audio_coding/neteq4/audio_multi_vector.h
+++ b/webrtc/modules/audio_coding/neteq4/audio_multi_vector.h
@@ -15,8 +15,8 @@
 
 #include <vector>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/audio_vector.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/audio_vector.h b/webrtc/modules/audio_coding/neteq4/audio_vector.h
index 265d68e..66bd518 100644
--- a/webrtc/modules/audio_coding/neteq4/audio_vector.h
+++ b/webrtc/modules/audio_coding/neteq4/audio_vector.h
@@ -13,7 +13,7 @@
 
 #include <string.h>  // Access to size_t.
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 #include "webrtc/typedefs.h"
 
diff --git a/webrtc/modules/audio_coding/neteq4/background_noise.h b/webrtc/modules/audio_coding/neteq4/background_noise.h
index 3a63ebb..141d71d 100644
--- a/webrtc/modules/audio_coding/neteq4/background_noise.h
+++ b/webrtc/modules/audio_coding/neteq4/background_noise.h
@@ -13,9 +13,9 @@
 
 #include <string.h>  // size_t
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/audio_multi_vector.h"
 #include "webrtc/modules/audio_coding/neteq4/interface/neteq.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 #include "webrtc/typedefs.h"
 
diff --git a/webrtc/modules/audio_coding/neteq4/buffer_level_filter.h b/webrtc/modules/audio_coding/neteq4/buffer_level_filter.h
index 842634c..282ab7a 100644
--- a/webrtc/modules/audio_coding/neteq4/buffer_level_filter.h
+++ b/webrtc/modules/audio_coding/neteq4/buffer_level_filter.h
@@ -11,7 +11,7 @@
 #ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ4_BUFFER_LEVEL_FILTER_H_
 #define WEBRTC_MODULES_AUDIO_CODING_NETEQ4_BUFFER_LEVEL_FILTER_H_
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 
 namespace webrtc {
 
diff --git a/webrtc/modules/audio_coding/neteq4/comfort_noise.h b/webrtc/modules/audio_coding/neteq4/comfort_noise.h
index 5c4e1ce..7e7c294 100644
--- a/webrtc/modules/audio_coding/neteq4/comfort_noise.h
+++ b/webrtc/modules/audio_coding/neteq4/comfort_noise.h
@@ -11,8 +11,8 @@
 #ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ4_COMFORT_NOISE_H_
 #define WEBRTC_MODULES_AUDIO_CODING_NETEQ4_COMFORT_NOISE_H_
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/audio_multi_vector.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/decision_logic.h b/webrtc/modules/audio_coding/neteq4/decision_logic.h
index 38be6e6..e187449 100644
--- a/webrtc/modules/audio_coding/neteq4/decision_logic.h
+++ b/webrtc/modules/audio_coding/neteq4/decision_logic.h
@@ -11,9 +11,9 @@
 #ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ4_DECISION_LOGIC_H_
 #define WEBRTC_MODULES_AUDIO_CODING_NETEQ4_DECISION_LOGIC_H_
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/defines.h"
 #include "webrtc/modules/audio_coding/neteq4/interface/neteq.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/decision_logic_fax.h b/webrtc/modules/audio_coding/neteq4/decision_logic_fax.h
index 2e35d26..1ccd352 100644
--- a/webrtc/modules/audio_coding/neteq4/decision_logic_fax.h
+++ b/webrtc/modules/audio_coding/neteq4/decision_logic_fax.h
@@ -11,8 +11,8 @@
 #ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ4_DECISION_LOGIC_FAX_H_
 #define WEBRTC_MODULES_AUDIO_CODING_NETEQ4_DECISION_LOGIC_FAX_H_
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/decision_logic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/decision_logic_normal.h b/webrtc/modules/audio_coding/neteq4/decision_logic_normal.h
index 5b21193..8ec6034 100644
--- a/webrtc/modules/audio_coding/neteq4/decision_logic_normal.h
+++ b/webrtc/modules/audio_coding/neteq4/decision_logic_normal.h
@@ -11,8 +11,8 @@
 #ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ4_DECISION_LOGIC_NORMAL_H_
 #define WEBRTC_MODULES_AUDIO_CODING_NETEQ4_DECISION_LOGIC_NORMAL_H_
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/decision_logic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/decoder_database.h b/webrtc/modules/audio_coding/neteq4/decoder_database.h
index 2e8825a..9effd52 100644
--- a/webrtc/modules/audio_coding/neteq4/decoder_database.h
+++ b/webrtc/modules/audio_coding/neteq4/decoder_database.h
@@ -13,10 +13,10 @@
 
 #include <map>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/common_types.h"  // NULL
 #include "webrtc/modules/audio_coding/neteq4/interface/audio_decoder.h"
 #include "webrtc/modules/audio_coding/neteq4/packet.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/delay_manager.h b/webrtc/modules/audio_coding/neteq4/delay_manager.h
index cc34352..ed1e87b 100644
--- a/webrtc/modules/audio_coding/neteq4/delay_manager.h
+++ b/webrtc/modules/audio_coding/neteq4/delay_manager.h
@@ -15,8 +15,8 @@
 
 #include <vector>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/interface/audio_decoder.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/delay_peak_detector.h b/webrtc/modules/audio_coding/neteq4/delay_peak_detector.h
index 59d27bc..dfdd253 100644
--- a/webrtc/modules/audio_coding/neteq4/delay_peak_detector.h
+++ b/webrtc/modules/audio_coding/neteq4/delay_peak_detector.h
@@ -15,7 +15,7 @@
 
 #include <list>
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 
 namespace webrtc {
 
diff --git a/webrtc/modules/audio_coding/neteq4/dsp_helper.h b/webrtc/modules/audio_coding/neteq4/dsp_helper.h
index f206485..60cd995 100644
--- a/webrtc/modules/audio_coding/neteq4/dsp_helper.h
+++ b/webrtc/modules/audio_coding/neteq4/dsp_helper.h
@@ -13,8 +13,8 @@
 
 #include <string.h>  // Access to size_t.
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/audio_multi_vector.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/dtmf_buffer.h b/webrtc/modules/audio_coding/neteq4/dtmf_buffer.h
index b901a97..d08b64f 100644
--- a/webrtc/modules/audio_coding/neteq4/dtmf_buffer.h
+++ b/webrtc/modules/audio_coding/neteq4/dtmf_buffer.h
@@ -14,7 +14,7 @@
 #include <list>
 #include <string>  // size_t
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/dtmf_tone_generator.h b/webrtc/modules/audio_coding/neteq4/dtmf_tone_generator.h
index a0a83f1..e93f0b8 100644
--- a/webrtc/modules/audio_coding/neteq4/dtmf_tone_generator.h
+++ b/webrtc/modules/audio_coding/neteq4/dtmf_tone_generator.h
@@ -12,8 +12,8 @@
 #define WEBRTC_MODULES_AUDIO_CODING_NETEQ4_DTMF_TONE_GENERATOR_H_
 
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/audio_multi_vector.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/expand.h b/webrtc/modules/audio_coding/neteq4/expand.h
index b5f4406..6962aa0 100644
--- a/webrtc/modules/audio_coding/neteq4/expand.h
+++ b/webrtc/modules/audio_coding/neteq4/expand.h
@@ -13,8 +13,8 @@
 
 #include <assert.h>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/audio_multi_vector.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 #include "webrtc/typedefs.h"
 
diff --git a/webrtc/modules/audio_coding/neteq4/interface/audio_decoder.h b/webrtc/modules/audio_coding/neteq4/interface/audio_decoder.h
index 404572a..6b4b191 100644
--- a/webrtc/modules/audio_coding/neteq4/interface/audio_decoder.h
+++ b/webrtc/modules/audio_coding/neteq4/interface/audio_decoder.h
@@ -13,7 +13,7 @@
 
 #include <stdlib.h>  // NULL
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/interface/neteq.h b/webrtc/modules/audio_coding/neteq4/interface/neteq.h
index 763da31..64a23e8 100644
--- a/webrtc/modules/audio_coding/neteq4/interface/neteq.h
+++ b/webrtc/modules/audio_coding/neteq4/interface/neteq.h
@@ -15,9 +15,9 @@
 
 #include <vector>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/common_types.h"
 #include "webrtc/modules/audio_coding/neteq4/interface/audio_decoder.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/merge.h b/webrtc/modules/audio_coding/neteq4/merge.h
index 012e0af..213b487 100644
--- a/webrtc/modules/audio_coding/neteq4/merge.h
+++ b/webrtc/modules/audio_coding/neteq4/merge.h
@@ -13,8 +13,8 @@
 
 #include <assert.h>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/audio_multi_vector.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/mock/mock_external_decoder_pcm16b.h b/webrtc/modules/audio_coding/neteq4/mock/mock_external_decoder_pcm16b.h
index b13affe..efc0c71 100644
--- a/webrtc/modules/audio_coding/neteq4/mock/mock_external_decoder_pcm16b.h
+++ b/webrtc/modules/audio_coding/neteq4/mock/mock_external_decoder_pcm16b.h
@@ -14,8 +14,8 @@
 #include "webrtc/modules/audio_coding/neteq4/interface/audio_decoder.h"
 
 #include "gmock/gmock.h"
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/codecs/pcm16b/include/pcm16b.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/neteq_impl.h b/webrtc/modules/audio_coding/neteq4/neteq_impl.h
index 9b155fe..b8139ac 100644
--- a/webrtc/modules/audio_coding/neteq4/neteq_impl.h
+++ b/webrtc/modules/audio_coding/neteq4/neteq_impl.h
@@ -13,7 +13,6 @@
 
 #include <vector>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/audio_multi_vector.h"
 #include "webrtc/modules/audio_coding/neteq4/defines.h"
 #include "webrtc/modules/audio_coding/neteq4/interface/neteq.h"
@@ -21,6 +20,7 @@
 #include "webrtc/modules/audio_coding/neteq4/random_vector.h"
 #include "webrtc/modules/audio_coding/neteq4/rtcp.h"
 #include "webrtc/modules/audio_coding/neteq4/statistics_calculator.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 #include "webrtc/system_wrappers/interface/thread_annotations.h"
 #include "webrtc/typedefs.h"
diff --git a/webrtc/modules/audio_coding/neteq4/normal.h b/webrtc/modules/audio_coding/neteq4/normal.h
index 1be5c7f..df28319 100644
--- a/webrtc/modules/audio_coding/neteq4/normal.h
+++ b/webrtc/modules/audio_coding/neteq4/normal.h
@@ -15,9 +15,9 @@
 
 #include <vector>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/audio_multi_vector.h"
 #include "webrtc/modules/audio_coding/neteq4/defines.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/packet_buffer.h b/webrtc/modules/audio_coding/neteq4/packet_buffer.h
index 3b068c3..3d22ad0 100644
--- a/webrtc/modules/audio_coding/neteq4/packet_buffer.h
+++ b/webrtc/modules/audio_coding/neteq4/packet_buffer.h
@@ -11,8 +11,8 @@
 #ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ4_PACKET_BUFFER_H_
 #define WEBRTC_MODULES_AUDIO_CODING_NETEQ4_PACKET_BUFFER_H_
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/packet.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/payload_splitter.h b/webrtc/modules/audio_coding/neteq4/payload_splitter.h
index 5086409..0f6caed 100644
--- a/webrtc/modules/audio_coding/neteq4/payload_splitter.h
+++ b/webrtc/modules/audio_coding/neteq4/payload_splitter.h
@@ -11,8 +11,8 @@
 #ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ4_PAYLOAD_SPLITTER_H_
 #define WEBRTC_MODULES_AUDIO_CODING_NETEQ4_PAYLOAD_SPLITTER_H_
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/packet.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 
 namespace webrtc {
 
diff --git a/webrtc/modules/audio_coding/neteq4/post_decode_vad.h b/webrtc/modules/audio_coding/neteq4/post_decode_vad.h
index 327de1a..eb197d9 100644
--- a/webrtc/modules/audio_coding/neteq4/post_decode_vad.h
+++ b/webrtc/modules/audio_coding/neteq4/post_decode_vad.h
@@ -13,12 +13,12 @@
 
 #include <string>  // size_t
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/common_audio/vad/include/webrtc_vad.h"
 #include "webrtc/common_types.h"  // NULL
 #include "webrtc/modules/audio_coding/neteq4/defines.h"
 #include "webrtc/modules/audio_coding/neteq4/interface/audio_decoder.h"
 #include "webrtc/modules/audio_coding/neteq4/packet.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/preemptive_expand.h b/webrtc/modules/audio_coding/neteq4/preemptive_expand.h
index 4d20ae6..983f64d 100644
--- a/webrtc/modules/audio_coding/neteq4/preemptive_expand.h
+++ b/webrtc/modules/audio_coding/neteq4/preemptive_expand.h
@@ -13,9 +13,9 @@
 
 #include <assert.h>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/audio_multi_vector.h"
 #include "webrtc/modules/audio_coding/neteq4/time_stretch.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/random_vector.h b/webrtc/modules/audio_coding/neteq4/random_vector.h
index 2c67ebb..64cfe0d 100644
--- a/webrtc/modules/audio_coding/neteq4/random_vector.h
+++ b/webrtc/modules/audio_coding/neteq4/random_vector.h
@@ -13,7 +13,7 @@
 
 #include <string.h>  // size_t
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/rtcp.h b/webrtc/modules/audio_coding/neteq4/rtcp.h
index d465667..00cbbd1 100644
--- a/webrtc/modules/audio_coding/neteq4/rtcp.h
+++ b/webrtc/modules/audio_coding/neteq4/rtcp.h
@@ -11,8 +11,8 @@
 #ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ4_RTCP_H_
 #define WEBRTC_MODULES_AUDIO_CODING_NETEQ4_RTCP_H_
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/interface/neteq.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/statistics_calculator.h b/webrtc/modules/audio_coding/neteq4/statistics_calculator.h
index 30f9377..25f8a14 100644
--- a/webrtc/modules/audio_coding/neteq4/statistics_calculator.h
+++ b/webrtc/modules/audio_coding/neteq4/statistics_calculator.h
@@ -13,8 +13,8 @@
 
 #include <vector>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/interface/neteq.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/sync_buffer.h b/webrtc/modules/audio_coding/neteq4/sync_buffer.h
index 8deb950..0659f19 100644
--- a/webrtc/modules/audio_coding/neteq4/sync_buffer.h
+++ b/webrtc/modules/audio_coding/neteq4/sync_buffer.h
@@ -11,8 +11,8 @@
 #ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ4_SYNC_BUFFER_H_
 #define WEBRTC_MODULES_AUDIO_CODING_NETEQ4_SYNC_BUFFER_H_
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/audio_multi_vector.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/time_stretch.h b/webrtc/modules/audio_coding/neteq4/time_stretch.h
index cd110b1..f0f58b8 100644
--- a/webrtc/modules/audio_coding/neteq4/time_stretch.h
+++ b/webrtc/modules/audio_coding/neteq4/time_stretch.h
@@ -14,8 +14,8 @@
 #include <assert.h>
 #include <string.h>  // memset, size_t
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/audio_multi_vector.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/timestamp_scaler.h b/webrtc/modules/audio_coding/neteq4/timestamp_scaler.h
index 604b599..e165076 100644
--- a/webrtc/modules/audio_coding/neteq4/timestamp_scaler.h
+++ b/webrtc/modules/audio_coding/neteq4/timestamp_scaler.h
@@ -11,8 +11,8 @@
 #ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ4_TIMESTAMP_SCALER_H_
 #define WEBRTC_MODULES_AUDIO_CODING_NETEQ4_TIMESTAMP_SCALER_H_
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/audio_coding/neteq4/packet.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/tools/audio_loop.h b/webrtc/modules/audio_coding/neteq4/tools/audio_loop.h
index 144898e..0499a75 100644
--- a/webrtc/modules/audio_coding/neteq4/tools/audio_loop.h
+++ b/webrtc/modules/audio_coding/neteq4/tools/audio_loop.h
@@ -13,7 +13,7 @@
 
 #include <string>
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 #include "webrtc/typedefs.h"
 
diff --git a/webrtc/modules/audio_coding/neteq4/tools/input_audio_file.h b/webrtc/modules/audio_coding/neteq4/tools/input_audio_file.h
index 7325d04..de51ff8 100644
--- a/webrtc/modules/audio_coding/neteq4/tools/input_audio_file.h
+++ b/webrtc/modules/audio_coding/neteq4/tools/input_audio_file.h
@@ -15,7 +15,7 @@
 
 #include <string>
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/tools/packet.h b/webrtc/modules/audio_coding/neteq4/tools/packet.h
index 03586bc..af549ff 100644
--- a/webrtc/modules/audio_coding/neteq4/tools/packet.h
+++ b/webrtc/modules/audio_coding/neteq4/tools/packet.h
@@ -13,8 +13,8 @@
 
 #include <list>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/common_types.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 #include "webrtc/typedefs.h"
 
diff --git a/webrtc/modules/audio_coding/neteq4/tools/packet_source.h b/webrtc/modules/audio_coding/neteq4/tools/packet_source.h
index 261ae78..1e1997f 100644
--- a/webrtc/modules/audio_coding/neteq4/tools/packet_source.h
+++ b/webrtc/modules/audio_coding/neteq4/tools/packet_source.h
@@ -11,7 +11,7 @@
 #ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ4_TOOLS_PACKET_SOURCE_H_
 #define WEBRTC_MODULES_AUDIO_CODING_NETEQ4_TOOLS_PACKET_SOURCE_H_
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 
 namespace webrtc {
 namespace test {
diff --git a/webrtc/modules/audio_coding/neteq4/tools/rtp_file_source.h b/webrtc/modules/audio_coding/neteq4/tools/rtp_file_source.h
index 86197d9..6a0be2a 100644
--- a/webrtc/modules/audio_coding/neteq4/tools/rtp_file_source.h
+++ b/webrtc/modules/audio_coding/neteq4/tools/rtp_file_source.h
@@ -14,10 +14,10 @@
 #include <stdio.h>
 #include <string>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/common_types.h"
 #include "webrtc/modules/audio_coding/neteq4/tools/packet_source.h"
 #include "webrtc/modules/rtp_rtcp/interface/rtp_rtcp_defines.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq4/tools/rtp_generator.h b/webrtc/modules/audio_coding/neteq4/tools/rtp_generator.h
index e1fe802..ece7ef2 100644
--- a/webrtc/modules/audio_coding/neteq4/tools/rtp_generator.h
+++ b/webrtc/modules/audio_coding/neteq4/tools/rtp_generator.h
@@ -11,8 +11,8 @@
 #ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ4_TOOLS_RTP_GENERATOR_H_
 #define WEBRTC_MODULES_AUDIO_CODING_NETEQ4_TOOLS_RTP_GENERATOR_H_
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/interface/module_common_types.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_device/linux/latebindingsymboltable_linux.h b/webrtc/modules/audio_device/linux/latebindingsymboltable_linux.h
index 052390a..b5186fa 100644
--- a/webrtc/modules/audio_device/linux/latebindingsymboltable_linux.h
+++ b/webrtc/modules/audio_device/linux/latebindingsymboltable_linux.h
@@ -32,7 +32,7 @@
 #include <stddef.h>  // for NULL
 #include <string.h>
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/trace.h"
 
 // This file provides macros for creating "symbol table" classes to simplify the
diff --git a/webrtc/modules/desktop_capture/desktop_capture_options.h b/webrtc/modules/desktop_capture/desktop_capture_options.h
index c6aabd4..c01d3d2 100644
--- a/webrtc/modules/desktop_capture/desktop_capture_options.h
+++ b/webrtc/modules/desktop_capture/desktop_capture_options.h
@@ -10,7 +10,7 @@
 #ifndef WEBRTC_MODULES_DESKTOP_CAPTURE_DESKTOP_CAPTURE_OPTIONS_H_
 #define WEBRTC_MODULES_DESKTOP_CAPTURE_DESKTOP_CAPTURE_OPTIONS_H_
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_refptr.h"
 
 #if defined(USE_X11)
diff --git a/webrtc/modules/desktop_capture/desktop_geometry.h b/webrtc/modules/desktop_capture/desktop_geometry.h
index 047eeec..b469d3b 100644
--- a/webrtc/modules/desktop_capture/desktop_geometry.h
+++ b/webrtc/modules/desktop_capture/desktop_geometry.h
@@ -11,8 +11,8 @@
 #ifndef WEBRTC_MODULES_DESKTOP_CAPTURE_DESKTOP_GEOMETRY_H_
 #define WEBRTC_MODULES_DESKTOP_CAPTURE_DESKTOP_GEOMETRY_H_
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/typedefs.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 
 namespace webrtc {
 
diff --git a/webrtc/modules/desktop_capture/desktop_region.h b/webrtc/modules/desktop_capture/desktop_region.h
index c4528ae..fc7c6ed 100644
--- a/webrtc/modules/desktop_capture/desktop_region.h
+++ b/webrtc/modules/desktop_capture/desktop_region.h
@@ -14,8 +14,8 @@
 #include <map>
 #include <vector>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/desktop_capture/desktop_geometry.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/desktop_capture/mac/scoped_pixel_buffer_object.h b/webrtc/modules/desktop_capture/mac/scoped_pixel_buffer_object.h
index 4d1dd1f..73d425a 100644
--- a/webrtc/modules/desktop_capture/mac/scoped_pixel_buffer_object.h
+++ b/webrtc/modules/desktop_capture/mac/scoped_pixel_buffer_object.h
@@ -14,7 +14,7 @@
 #include <OpenGL/CGLMacro.h>
 #include <OpenGL/OpenGL.h>
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/desktop_capture/mouse_cursor.h b/webrtc/modules/desktop_capture/mouse_cursor.h
index 22887f9..3acfa45 100644
--- a/webrtc/modules/desktop_capture/mouse_cursor.h
+++ b/webrtc/modules/desktop_capture/mouse_cursor.h
@@ -11,8 +11,8 @@
 #ifndef WEBRTC_MODULES_DESKTOP_CAPTURE_MOUSE_CURSOR_H_
 #define WEBRTC_MODULES_DESKTOP_CAPTURE_MOUSE_CURSOR_H_
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/desktop_capture/desktop_geometry.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/desktop_capture/shared_memory.h b/webrtc/modules/desktop_capture/shared_memory.h
index 7870d83..bb43b28 100644
--- a/webrtc/modules/desktop_capture/shared_memory.h
+++ b/webrtc/modules/desktop_capture/shared_memory.h
@@ -17,8 +17,8 @@
 #include <windows.h>
 #endif
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/typedefs.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 
 namespace webrtc {
 
diff --git a/webrtc/modules/desktop_capture/win/desktop.h b/webrtc/modules/desktop_capture/win/desktop.h
index fda56ca..bdc490c 100644
--- a/webrtc/modules/desktop_capture/win/desktop.h
+++ b/webrtc/modules/desktop_capture/win/desktop.h
@@ -11,10 +11,10 @@
 #ifndef WEBRTC_MODULES_DESKTOP_CAPTURE_WIN_DESKTOP_H_
 #define WEBRTC_MODULES_DESKTOP_CAPTURE_WIN_DESKTOP_H_
 
-#include <windows.h>
 #include <string>
+#include <windows.h>
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/desktop_capture/win/scoped_gdi_object.h b/webrtc/modules/desktop_capture/win/scoped_gdi_object.h
index 366df6d..0ca35c5 100644
--- a/webrtc/modules/desktop_capture/win/scoped_gdi_object.h
+++ b/webrtc/modules/desktop_capture/win/scoped_gdi_object.h
@@ -13,7 +13,7 @@
 
 #include <windows.h>
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/desktop_capture/win/scoped_thread_desktop.h b/webrtc/modules/desktop_capture/win/scoped_thread_desktop.h
index f12731d..3951423 100644
--- a/webrtc/modules/desktop_capture/win/scoped_thread_desktop.h
+++ b/webrtc/modules/desktop_capture/win/scoped_thread_desktop.h
@@ -13,7 +13,7 @@
 
 #include <windows.h>
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/desktop_capture/win/screen_capturer_win_magnifier.h b/webrtc/modules/desktop_capture/win/screen_capturer_win_magnifier.h
index b6d5590..618386a 100644
--- a/webrtc/modules/desktop_capture/win/screen_capturer_win_magnifier.h
+++ b/webrtc/modules/desktop_capture/win/screen_capturer_win_magnifier.h
@@ -11,16 +11,16 @@
 #ifndef WEBRTC_MODULES_DESKTOP_CAPTURE_WIN_SCREEN_CAPTURER_WIN_MAGNIFIER_H_
 #define WEBRTC_MODULES_DESKTOP_CAPTURE_WIN_SCREEN_CAPTURER_WIN_MAGNIFIER_H_
 
-#include <windows.h>
 #include <magnification.h>
 #include <wincodec.h>
+#include <windows.h>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/desktop_capture/screen_capture_frame_queue.h"
-#include "webrtc/modules/desktop_capture/screen_capturer.h"
 #include "webrtc/modules/desktop_capture/screen_capturer_helper.h"
+#include "webrtc/modules/desktop_capture/screen_capturer.h"
 #include "webrtc/modules/desktop_capture/win/scoped_thread_desktop.h"
 #include "webrtc/system_wrappers/interface/atomic32.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/desktop_capture/window_capturer.h b/webrtc/modules/desktop_capture/window_capturer.h
index ad75c88..86b3d19 100644
--- a/webrtc/modules/desktop_capture/window_capturer.h
+++ b/webrtc/modules/desktop_capture/window_capturer.h
@@ -11,12 +11,12 @@
 #ifndef WEBRTC_MODULES_DESKTOP_CAPTURE_WINDOW_CAPTURER_H_
 #define WEBRTC_MODULES_DESKTOP_CAPTURE_WINDOW_CAPTURER_H_
 
-#include <string>
 #include <vector>
+#include <string>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/desktop_capture/desktop_capture_types.h"
 #include "webrtc/modules/desktop_capture/desktop_capturer.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/desktop_capture/x11/x_error_trap.h b/webrtc/modules/desktop_capture/x11/x_error_trap.h
index aa77114..fd83469 100644
--- a/webrtc/modules/desktop_capture/x11/x_error_trap.h
+++ b/webrtc/modules/desktop_capture/x11/x_error_trap.h
@@ -13,7 +13,7 @@
 
 #include <X11/Xlib.h>
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 
 namespace webrtc {
 
diff --git a/webrtc/modules/interface/module_common_types.h b/webrtc/modules/interface/module_common_types.h
index 14139ad..f9ba592 100644
--- a/webrtc/modules/interface/module_common_types.h
+++ b/webrtc/modules/interface/module_common_types.h
@@ -16,8 +16,8 @@
 
 #include <algorithm>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/common_types.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 #ifdef _WIN32
diff --git a/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc b/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc
index f67c7f3..795089d 100644
--- a/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc
+++ b/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc
@@ -10,8 +10,8 @@
 
 #include "testing/gtest/include/gtest/gtest.h"
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 
 namespace webrtc {
 
diff --git a/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h b/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h
index 14cfc31..5071deb 100644
--- a/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h
+++ b/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h
@@ -16,9 +16,9 @@
 #include <utility>
 
 #include "testing/gtest/include/gtest/gtest.h"
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
 #include "webrtc/system_wrappers/interface/clock.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/remote_bitrate_estimator/test/bwe_test.h b/webrtc/modules/remote_bitrate_estimator/test/bwe_test.h
index 4959065..ef35179 100644
--- a/webrtc/modules/remote_bitrate_estimator/test/bwe_test.h
+++ b/webrtc/modules/remote_bitrate_estimator/test/bwe_test.h
@@ -12,9 +12,9 @@
 #include <string>
 #include <vector>
 #include "gtest/gtest.h"
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
 #include "webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 
 namespace webrtc {
 
diff --git a/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.cc b/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.cc
index 48384fe..3ba46e4 100644
--- a/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.cc
+++ b/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.cc
@@ -15,9 +15,9 @@
 #include <algorithm>
 #include <vector>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/remote_bitrate_estimator/test/bwe_test_fileutils.h"
 #include "webrtc/modules/remote_bitrate_estimator/test/bwe_test_logging.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 #include "webrtc/test/testsupport/fileutils.h"
 
diff --git a/webrtc/modules/remote_bitrate_estimator/test/bwe_test_fileutils.h b/webrtc/modules/remote_bitrate_estimator/test/bwe_test_fileutils.h
index e73a545..dddbdeeb2 100644
--- a/webrtc/modules/remote_bitrate_estimator/test/bwe_test_fileutils.h
+++ b/webrtc/modules/remote_bitrate_estimator/test/bwe_test_fileutils.h
@@ -15,8 +15,8 @@
 
 #include <string>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/interface/module_common_types.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 
 namespace webrtc {
 namespace testing {
diff --git a/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework_unittest.cc b/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework_unittest.cc
index ec32926..4ff35df 100644
--- a/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework_unittest.cc
+++ b/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework_unittest.cc
@@ -13,7 +13,7 @@
 #include <numeric>
 
 #include "gtest/gtest.h"
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/test/testsupport/fileutils.h"
 
 using std::vector;
diff --git a/webrtc/modules/remote_bitrate_estimator/test/bwe_test_logging.h b/webrtc/modules/remote_bitrate_estimator/test/bwe_test_logging.h
index 340c992..c949763 100644
--- a/webrtc/modules/remote_bitrate_estimator/test/bwe_test_logging.h
+++ b/webrtc/modules/remote_bitrate_estimator/test/bwe_test_logging.h
@@ -98,8 +98,8 @@
 #include <stack>
 #include <string>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/common_types.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 
 #define BWE_TEST_LOGGING_GLOBAL_CONTEXT(name) \
diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_receiver_help.h b/webrtc/modules/rtp_rtcp/source/rtcp_receiver_help.h
index 0ca43fa..949beb9 100644
--- a/webrtc/modules/rtp_rtcp/source/rtcp_receiver_help.h
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_receiver_help.h
@@ -12,10 +12,10 @@
 #define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_HELP_H_
 
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/rtp_rtcp/interface/rtp_rtcp_defines.h"  // RTCPReportBlock
 #include "webrtc/modules/rtp_rtcp/source/rtcp_utility.h"
 #include "webrtc/modules/rtp_rtcp/source/tmmbr_help.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 #include "webrtc/typedefs.h"
 
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_format_vp8.h b/webrtc/modules/rtp_rtcp/source/rtp_format_vp8.h
index e4d3dc0..650c0fa 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_format_vp8.h
+++ b/webrtc/modules/rtp_rtcp/source/rtp_format_vp8.h
@@ -28,8 +28,8 @@
 #include <queue>
 #include <vector>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/interface/module_common_types.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_format_vp8_test_helper.h b/webrtc/modules/rtp_rtcp/source/rtp_format_vp8_test_helper.h
index e146492..13eb0e1 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_format_vp8_test_helper.h
+++ b/webrtc/modules/rtp_rtcp/source/rtp_format_vp8_test_helper.h
@@ -18,9 +18,9 @@
 #ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_FORMAT_VP8_TEST_HELPER_H_
 #define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_FORMAT_VP8_TEST_HELPER_H_
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/interface/module_common_types.h"
 #include "webrtc/modules/rtp_rtcp/source/rtp_format_vp8.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/rtp_rtcp/source/vp8_partition_aggregator.h b/webrtc/modules/rtp_rtcp/source/vp8_partition_aggregator.h
index cbb1207..2ca5f28 100644
--- a/webrtc/modules/rtp_rtcp/source/vp8_partition_aggregator.h
+++ b/webrtc/modules/rtp_rtcp/source/vp8_partition_aggregator.h
@@ -13,8 +13,8 @@
 
 #include <vector>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/interface/module_common_types.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/video_coding/main/source/jitter_buffer.h b/webrtc/modules/video_coding/main/source/jitter_buffer.h
index 6ed9cfb..1e0a44a 100644
--- a/webrtc/modules/video_coding/main/source/jitter_buffer.h
+++ b/webrtc/modules/video_coding/main/source/jitter_buffer.h
@@ -16,7 +16,6 @@
 #include <set>
 #include <vector>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/interface/module_common_types.h"
 #include "webrtc/modules/video_coding/main/interface/video_coding.h"
 #include "webrtc/modules/video_coding/main/interface/video_coding_defines.h"
@@ -24,6 +23,7 @@
 #include "webrtc/modules/video_coding/main/source/inter_frame_delay.h"
 #include "webrtc/modules/video_coding/main/source/jitter_buffer_common.h"
 #include "webrtc/modules/video_coding/main/source/jitter_estimator.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/critical_section_wrapper.h"
 #include "webrtc/typedefs.h"
 
diff --git a/webrtc/modules/video_coding/main/test/test_util.h b/webrtc/modules/video_coding/main/test/test_util.h
index 9f8b5a9..36ca219 100644
--- a/webrtc/modules/video_coding/main/test/test_util.h
+++ b/webrtc/modules/video_coding/main/test/test_util.h
@@ -17,9 +17,9 @@
 
 #include <string>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/interface/module_common_types.h"
 #include "webrtc/modules/video_coding/main/interface/video_coding.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/event_wrapper.h"
 
 enum { kMaxNackListSize = 250 };
diff --git a/webrtc/modules/video_coding/main/test/vcm_payload_sink_factory.h b/webrtc/modules/video_coding/main/test/vcm_payload_sink_factory.h
index 130bd42..26dc889 100644
--- a/webrtc/modules/video_coding/main/test/vcm_payload_sink_factory.h
+++ b/webrtc/modules/video_coding/main/test/vcm_payload_sink_factory.h
@@ -11,9 +11,9 @@
 #include <string>
 #include <vector>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/video_coding/main/interface/video_coding_defines.h"
 #include "webrtc/modules/video_coding/main/test/rtp_player.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 
 class NullEventFactory;
diff --git a/webrtc/system_wrappers/interface/atomic32.h b/webrtc/system_wrappers/interface/atomic32.h
index 8633e26..08ab4f2 100644
--- a/webrtc/system_wrappers/interface/atomic32.h
+++ b/webrtc/system_wrappers/interface/atomic32.h
@@ -17,8 +17,8 @@
 
 #include <stddef.h>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/common_types.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 
 namespace webrtc {
 
diff --git a/webrtc/system_wrappers/interface/constructor_magic.h b/webrtc/system_wrappers/interface/constructor_magic.h
new file mode 100644
index 0000000..b2aabc5
--- /dev/null
+++ b/webrtc/system_wrappers/interface/constructor_magic.h
@@ -0,0 +1,50 @@
+/*
+ *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *
+ *  Use of this source code is governed by a BSD-style license
+ *  that can be found in the LICENSE file in the root of the source
+ *  tree. An additional intellectual property rights grant can be found
+ *  in the file PATENTS.  All contributing project authors may
+ *  be found in the AUTHORS file in the root of the source tree.
+ */
+
+/*
+ * WebRtc
+ * Copy from third_party/libjingle/source/talk/base/constructormagic.h
+ */
+
+#ifndef WEBRTC_SYSTEM_WRAPPERS_INTERFACE_CONSTRUCTOR_MAGIC_H_
+#define WEBRTC_SYSTEM_WRAPPERS_INTERFACE_CONSTRUCTOR_MAGIC_H_
+
+#ifndef DISALLOW_ASSIGN
+#define DISALLOW_ASSIGN(TypeName) \
+  void operator=(const TypeName&)
+#endif
+
+#ifndef DISALLOW_COPY_AND_ASSIGN
+// A macro to disallow the evil copy constructor and operator= functions
+// This should be used in the private: declarations for a class
+#define DISALLOW_COPY_AND_ASSIGN(TypeName)    \
+  TypeName(const TypeName&);                    \
+  DISALLOW_ASSIGN(TypeName)
+#endif
+
+#ifndef DISALLOW_EVIL_CONSTRUCTORS
+// Alternative, less-accurate legacy name.
+#define DISALLOW_EVIL_CONSTRUCTORS(TypeName) \
+  DISALLOW_COPY_AND_ASSIGN(TypeName)
+#endif
+
+#ifndef DISALLOW_IMPLICIT_CONSTRUCTORS
+// A macro to disallow all the implicit constructors, namely the
+// default constructor, copy constructor and operator= functions.
+//
+// This should be used in the private: declarations for a class
+// that wants to prevent anyone from instantiating it. This is
+// especially useful for classes containing only static methods.
+#define DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \
+  TypeName();                                    \
+  DISALLOW_EVIL_CONSTRUCTORS(TypeName)
+#endif
+
+#endif  // WEBRTC_SYSTEM_WRAPPERS_INTERFACE_CONSTRUCTOR_MAGIC_H_
diff --git a/webrtc/system_wrappers/interface/scoped_ptr.h b/webrtc/system_wrappers/interface/scoped_ptr.h
index 42bb8a6..8998f81 100644
--- a/webrtc/system_wrappers/interface/scoped_ptr.h
+++ b/webrtc/system_wrappers/interface/scoped_ptr.h
@@ -104,8 +104,8 @@
 
 #include <algorithm>  // For std::swap().
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/system_wrappers/interface/compile_assert.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/template_util.h"
 #include "webrtc/system_wrappers/source/move.h"
 #include "webrtc/typedefs.h"
diff --git a/webrtc/test/fake_network_pipe.h b/webrtc/test/fake_network_pipe.h
index b9690e7..3dcda298 100644
--- a/webrtc/test/fake_network_pipe.h
+++ b/webrtc/test/fake_network_pipe.h
@@ -13,7 +13,7 @@
 
 #include <queue>
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/event_wrapper.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 #include "webrtc/typedefs.h"
diff --git a/webrtc/test/mac/video_renderer_mac.h b/webrtc/test/mac/video_renderer_mac.h
index 7950b0f..7701840 100644
--- a/webrtc/test/mac/video_renderer_mac.h
+++ b/webrtc/test/mac/video_renderer_mac.h
@@ -11,8 +11,8 @@
 #ifndef WEBRTC_VIDEO_ENGINE_TEST_COMMON_MAC_VIDEO_RENDERER_MAC_H_
 #define WEBRTC_VIDEO_ENGINE_TEST_COMMON_MAC_VIDEO_RENDERER_MAC_H_
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/test/gl/gl_renderer.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 
 @class CocoaWindow;
 
diff --git a/webrtc/test/test_suite.h b/webrtc/test/test_suite.h
index e28fb23..16c0357 100644
--- a/webrtc/test/test_suite.h
+++ b/webrtc/test/test_suite.h
@@ -17,7 +17,7 @@
 // instantiate this class in your main function and call its Run method to run
 // any gtest based tests that are linked into your executable.
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 
 namespace webrtc {
diff --git a/webrtc/tools/simple_command_line_parser.h b/webrtc/tools/simple_command_line_parser.h
index 6bb3313..348e8c3 100644
--- a/webrtc/tools/simple_command_line_parser.h
+++ b/webrtc/tools/simple_command_line_parser.h
@@ -15,7 +15,7 @@
 #include <string>
 #include <vector>
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/test/testsupport/gtest_prod_util.h"
 
 // This is a very basic command line parsing class. We pass the command line
diff --git a/webrtc/video_engine/call_stats.h b/webrtc/video_engine/call_stats.h
index 5eb3335..5c021a4 100644
--- a/webrtc/video_engine/call_stats.h
+++ b/webrtc/video_engine/call_stats.h
@@ -13,8 +13,8 @@
 
 #include <list>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/interface/module.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 
 namespace webrtc {
diff --git a/webrtc/video_engine/encoder_state_feedback.h b/webrtc/video_engine/encoder_state_feedback.h
index a58532c..4e0cdc3 100644
--- a/webrtc/video_engine/encoder_state_feedback.h
+++ b/webrtc/video_engine/encoder_state_feedback.h
@@ -16,7 +16,7 @@
 
 #include <map>
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 #include "webrtc/typedefs.h"
 
diff --git a/webrtc/video_engine/overuse_frame_detector.h b/webrtc/video_engine/overuse_frame_detector.h
index c30bb57..92a2d14 100644
--- a/webrtc/video_engine/overuse_frame_detector.h
+++ b/webrtc/video_engine/overuse_frame_detector.h
@@ -11,8 +11,8 @@
 #ifndef WEBRTC_VIDEO_ENGINE_OVERUSE_FRAME_DETECTOR_H_
 #define WEBRTC_VIDEO_ENGINE_OVERUSE_FRAME_DETECTOR_H_
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/modules/interface/module.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 #include "webrtc/video_engine/include/vie_base.h"
 
diff --git a/webrtc/video_engine/test/libvietest/include/tb_interfaces.h b/webrtc/video_engine/test/libvietest/include/tb_interfaces.h
index 5b52a1e..b79012d 100644
--- a/webrtc/video_engine/test/libvietest/include/tb_interfaces.h
+++ b/webrtc/video_engine/test/libvietest/include/tb_interfaces.h
@@ -13,8 +13,8 @@
 
 #include <string>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/common_types.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/video_engine/include/vie_base.h"
 #include "webrtc/video_engine/include/vie_capture.h"
 #include "webrtc/video_engine/include/vie_codec.h"
diff --git a/webrtc/video_engine/test/libvietest/include/vie_to_file_renderer.h b/webrtc/video_engine/test/libvietest/include/vie_to_file_renderer.h
index e23dad2..c3694a0 100644
--- a/webrtc/video_engine/test/libvietest/include/vie_to_file_renderer.h
+++ b/webrtc/video_engine/test/libvietest/include/vie_to_file_renderer.h
@@ -17,7 +17,7 @@
 #include <list>
 #include <string>
 
-#include "webrtc/base/constructormagic.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 #include "webrtc/video_engine/include/vie_render.h"
 
diff --git a/webrtc/voice_engine/channel_manager.h b/webrtc/voice_engine/channel_manager.h
index 3c0f681..1da976d 100644
--- a/webrtc/voice_engine/channel_manager.h
+++ b/webrtc/voice_engine/channel_manager.h
@@ -13,8 +13,8 @@
 
 #include <vector>
 
-#include "webrtc/base/constructormagic.h"
 #include "webrtc/system_wrappers/interface/atomic32.h"
+#include "webrtc/system_wrappers/interface/constructor_magic.h"
 #include "webrtc/system_wrappers/interface/critical_section_wrapper.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 #include "webrtc/typedefs.h"