diff --git a/pc/peerconnection_integrationtest.cc b/pc/peerconnection_integrationtest.cc
index fda34fe..8ce09d2 100644
--- a/pc/peerconnection_integrationtest.cc
+++ b/pc/peerconnection_integrationtest.cc
@@ -68,55 +68,20 @@
 #include "system_wrappers/include/metrics.h"
 #include "test/gmock.h"
 
-using cricket::ContentInfo;
-using cricket::FakeWebRtcVideoDecoder;
-using cricket::FakeWebRtcVideoDecoderFactory;
-using cricket::FakeWebRtcVideoEncoder;
-using cricket::FakeWebRtcVideoEncoderFactory;
-using cricket::MediaContentDescription;
-using cricket::StreamParams;
-using rtc::SocketAddress;
+namespace webrtc {
+namespace {
+
+using ::cricket::ContentInfo;
+using ::cricket::StreamParams;
+using ::rtc::SocketAddress;
+using ::testing::_;
 using ::testing::Combine;
 using ::testing::ElementsAre;
-using ::testing::UnorderedElementsAreArray;
 using ::testing::Return;
 using ::testing::SetArgPointee;
-using ::testing::Values;
 using ::testing::UnorderedElementsAreArray;
-using ::testing::_;
-using webrtc::DataBuffer;
-using webrtc::DataChannelInterface;
-using webrtc::DtmfSender;
-using webrtc::DtmfSenderInterface;
-using webrtc::DtmfSenderObserverInterface;
-using webrtc::FakeVideoTrackRenderer;
-using webrtc::MediaStreamInterface;
-using webrtc::MediaStreamTrackInterface;
-using webrtc::MockCreateSessionDescriptionObserver;
-using webrtc::MockDataChannelObserver;
-using webrtc::MockSetSessionDescriptionObserver;
-using webrtc::MockStatsObserver;
-using webrtc::ObserverInterface;
-using webrtc::PeerConnection;
-using webrtc::PeerConnectionInterface;
+using ::testing::Values;
 using RTCConfiguration = PeerConnectionInterface::RTCConfiguration;
-using webrtc::PeerConnectionFactory;
-using webrtc::PeerConnectionProxy;
-using webrtc::RTCErrorType;
-using webrtc::RTCTransportStats;
-using webrtc::RtpSenderInterface;
-using webrtc::RtpReceiverInterface;
-using webrtc::RtpSenderInterface;
-using webrtc::RtpTransceiverDirection;
-using webrtc::RtpTransceiverInit;
-using webrtc::RtpTransceiverInterface;
-using webrtc::SdpSemantics;
-using webrtc::SdpType;
-using webrtc::SessionDescriptionInterface;
-using webrtc::StreamCollectionInterface;
-using webrtc::VideoTrackInterface;
-
-namespace {
 
 static const int kDefaultTimeout = 10000;
 static const int kMaxWaitForStatsMs = 3000;
@@ -5090,5 +5055,6 @@
 }
 
 }  // namespace
+}  // namespace webrtc
 
 #endif  // if !defined(THREAD_SANITIZER)
diff --git a/pc/peerconnectioninterface_unittest.cc b/pc/peerconnectioninterface_unittest.cc
index 5b14f10..0528247 100644
--- a/pc/peerconnectioninterface_unittest.cc
+++ b/pc/peerconnectioninterface_unittest.cc
@@ -94,6 +94,9 @@
 #include "pc/test/androidtestinitializer.h"
 #endif
 
+namespace webrtc {
+namespace {
+
 static const char kStreamId1[] = "local_stream_1";
 static const char kStreamId2[] = "local_stream_2";
 static const char kStreamId3[] = "local_stream_3";
@@ -449,49 +452,13 @@
     "inline:NzB4d1BINUAvLEw6UzF3WSJ+PSdFcGdUJShpX1Zj|2^20|1:32 "
     "dummy_session_params\r\n";
 
+using ::cricket::StreamParams;
 using ::testing::Exactly;
 using ::testing::Values;
-using cricket::StreamParams;
-using webrtc::AudioSourceInterface;
-using webrtc::AudioTrack;
-using webrtc::AudioTrackInterface;
-using webrtc::DataBuffer;
-using webrtc::DataChannelInterface;
-using webrtc::IceCandidateInterface;
-using webrtc::MediaStream;
-using webrtc::MediaStreamInterface;
-using webrtc::MediaStreamTrackInterface;
-using webrtc::MockCreateSessionDescriptionObserver;
-using webrtc::MockDataChannelObserver;
-using webrtc::MockPeerConnectionObserver;
-using webrtc::MockSetSessionDescriptionObserver;
-using webrtc::MockStatsObserver;
-using webrtc::NotifierInterface;
-using webrtc::ObserverInterface;
-using webrtc::PeerConnectionInterface;
-using webrtc::PeerConnectionObserver;
-using webrtc::RTCError;
-using webrtc::RTCErrorType;
-using webrtc::RtpReceiverInterface;
-using webrtc::RtpSenderInterface;
-using webrtc::RtpSenderProxyWithInternal;
-using webrtc::RtpSenderInternal;
-using webrtc::RtpTransceiverDirection;
-using webrtc::SdpParseError;
-using webrtc::SdpSemantics;
-using webrtc::SdpType;
-using webrtc::SessionDescriptionInterface;
-using webrtc::StreamCollection;
-using webrtc::StreamCollectionInterface;
-using webrtc::VideoTrackSourceInterface;
-using webrtc::VideoTrack;
-using webrtc::VideoTrackInterface;
 
 using RTCConfiguration = PeerConnectionInterface::RTCConfiguration;
 using RTCOfferAnswerOptions = PeerConnectionInterface::RTCOfferAnswerOptions;
 
-namespace {
-
 // Gets the first ssrc of given content type from the ContentInfo.
 bool GetFirstSsrc(const cricket::ContentInfo* content_info, int* ssrc) {
   if (!content_info || !ssrc) {
@@ -660,8 +627,6 @@
   NotifierInterface* notifier_;
 };
 
-}  // namespace
-
 // The PeerConnectionMediaConfig tests below verify that configuration and
 // constraints are propagated into the PeerConnection's MediaConfig. These
 // settings are intended for MediaChannel constructors, but that is not
@@ -4104,3 +4069,6 @@
       PeerConnectionInterface::RTCConfigurationType::kAggressive);
   EXPECT_NE(a, h);
 }
+
+}  // namespace
+}  // namespace webrtc
