Clean up dependencies of peerconnection_unittest.

There were a number of unused includes and undeclared
dependencies. I removed the includes that were causing
problems and added dependencies for the includes that
turned out to be needed.

Bug: webrtc:7239,webrtc:6828
Change-Id: I5b57f9b8411d969e96eaa46fb49101b7b7c32284
Reviewed-on: https://webrtc-review.googlesource.com/1185
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19858}
diff --git a/pc/BUILD.gn b/pc/BUILD.gn
index 09c58ab..8c6b5a6 100644
--- a/pc/BUILD.gn
+++ b/pc/BUILD.gn
@@ -373,7 +373,6 @@
   }
 
   rtc_test("peerconnection_unittests") {
-    check_includes = false  # TODO(kjellander): Remove (bugs.webrtc.org/6828)
     testonly = true
     sources = [
       "datachannel_unittest.cc",
@@ -435,15 +434,7 @@
 
     deps = []
     if (is_android) {
-      sources += [
-        "test/androidtestinitializer.cc",
-        "test/androidtestinitializer.h",
-      ]
-      deps += [
-        "../sdk/android:libjingle_peerconnection_java",
-        "../sdk/android:libjingle_peerconnection_jni",
-        "//testing/android/native_test:native_test_support",
-      ]
+      deps += [ ":android_black_magic" ]
     }
 
     deps += [
@@ -451,19 +442,55 @@
       ":pc_test_utils",
       "..:webrtc_common",
       "../api:fakemetricsobserver",
+      "../api:libjingle_peerconnection_test_api",
+      "../api:rtc_stats_api",
+      "../api/audio_codecs:builtin_audio_decoder_factory",
+      "../api/audio_codecs:builtin_audio_encoder_factory",
+      "../media:rtc_audio_video",
+      "../media:rtc_data",  # TODO(phoglund): AFAIK only used for one sctp constant.
+      "../media:rtc_media_base",
       "../media:rtc_media_tests_utils",
+      "../modules/audio_processing:audio_processing",
+      "../modules/utility:utility",
+      "../p2p:p2p_test_utils",
+      "../p2p:rtc_p2p",
       "../pc:rtc_pc",
+      "../rtc_base:rtc_base_approved",
       "../rtc_base:rtc_base_tests_main",
       "../rtc_base:rtc_base_tests_utils",
       "../system_wrappers:metrics_default",
       "../test:audio_codec_mocks",
-      "//testing/gmock",
+      "../test:test_support",
     ]
 
     if (is_android) {
-      deps += [ "//testing/android/native_test:native_test_support" ]
+      deps += [
+        "//testing/android/native_test:native_test_support",
+
+        # We need to depend on this one directly, or classloads will fail for
+        # the voice engine BuildInfo, for instance.
+        "../sdk/android:libjingle_peerconnection_java",
+      ]
 
       shard_timeout = 900
     }
   }
+
+  if (is_android) {
+    rtc_source_set("android_black_magic") {
+      # The android code uses hacky includes to chromium-base and the ssl code;
+      # having this in a separate target enables us to keep the peerconnection
+      # unit tests clean.
+      check_includes = false
+      testonly = true
+      sources = [
+        "test/androidtestinitializer.cc",
+        "test/androidtestinitializer.h",
+      ]
+      deps = [
+        "../sdk/android:libjingle_peerconnection_jni",
+        "//testing/android/native_test:native_test_support",
+      ]
+    }
+  }
 }
diff --git a/pc/dtmfsender_unittest.cc b/pc/dtmfsender_unittest.cc
index 21343f6..a5d102b 100644
--- a/pc/dtmfsender_unittest.cc
+++ b/pc/dtmfsender_unittest.cc
@@ -15,10 +15,10 @@
 #include <string>
 #include <vector>
 
+
 #include "pc/audiotrack.h"
 #include "rtc_base/fakeclock.h"
 #include "rtc_base/gunit.h"
-#include "rtc_base/logging.h"
 #include "rtc_base/timeutils.h"
 
 using webrtc::AudioTrackInterface;
@@ -39,7 +39,6 @@
 
   // Implements DtmfSenderObserverInterface.
   void OnToneChange(const std::string& tone) override {
-    LOG(LS_VERBOSE) << "FakeDtmfObserver::OnToneChange '" << tone << "'.";
     tones_.push_back(tone);
     if (tone.empty()) {
       completed_ = true;
@@ -89,9 +88,6 @@
     }
     last_insert_dtmf_call_ = rtc::TimeMillis();
 
-    LOG(LS_VERBOSE) << "FakeDtmfProvider::InsertDtmf code=" << code
-                    << " duration=" << duration
-                    << " gap=" << gap << ".";
     dtmf_info_queue_.push_back(DtmfInfo(code, duration, gap));
     return true;
   }
diff --git a/pc/jsepsessiondescription_unittest.cc b/pc/jsepsessiondescription_unittest.cc
index 473e7a0..781b596 100644
--- a/pc/jsepsessiondescription_unittest.cc
+++ b/pc/jsepsessiondescription_unittest.cc
@@ -19,8 +19,6 @@
 #include "p2p/base/sessiondescription.h"
 #include "pc/mediasession.h"
 #include "rtc_base/gunit.h"
-#include "rtc_base/helpers.h"
-#include "rtc_base/ssladapter.h"
 #include "rtc_base/stringencode.h"
 
 using webrtc::IceCandidateCollection;
diff --git a/pc/peerconnection_integrationtest.cc b/pc/peerconnection_integrationtest.cc
index 57f9e73..fa99d38 100644
--- a/pc/peerconnection_integrationtest.cc
+++ b/pc/peerconnection_integrationtest.cc
@@ -42,13 +42,8 @@
 #include "pc/test/fakertccertificategenerator.h"
 #include "pc/test/fakevideotrackrenderer.h"
 #include "pc/test/mockpeerconnectionobservers.h"
-#include "rtc_base/asyncinvoker.h"
 #include "rtc_base/fakenetwork.h"
 #include "rtc_base/gunit.h"
-#include "rtc_base/helpers.h"
-#include "rtc_base/ssladapter.h"
-#include "rtc_base/sslstreamadapter.h"
-#include "rtc_base/thread.h"
 #include "rtc_base/virtualsocketserver.h"
 
 using cricket::ContentInfo;
diff --git a/pc/peerconnectionendtoend_unittest.cc b/pc/peerconnectionendtoend_unittest.cc
index 1dca5ff..b151264 100644
--- a/pc/peerconnectionendtoend_unittest.cc
+++ b/pc/peerconnectionendtoend_unittest.cc
@@ -15,11 +15,9 @@
 #include "rtc_base/gunit.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/ptr_util.h"
-#include "rtc_base/ssladapter.h"
-#include "rtc_base/sslstreamadapter.h"
 #include "rtc_base/stringencode.h"
 #include "rtc_base/stringutils.h"
-#include "rtc_base/thread.h"
+
 #ifdef WEBRTC_ANDROID
 #include "pc/test/androidtestinitializer.h"
 #endif
diff --git a/pc/peerconnectionfactory_unittest.cc b/pc/peerconnectionfactory_unittest.cc
index 36553a7..5688d15 100644
--- a/pc/peerconnectionfactory_unittest.cc
+++ b/pc/peerconnectionfactory_unittest.cc
@@ -14,12 +14,10 @@
 
 #include "api/mediastreaminterface.h"
 #include "media/base/fakevideocapturer.h"
-#include "media/engine/webrtccommon.h"
-#include "media/engine/webrtcvoe.h"
 #include "p2p/base/fakeportallocator.h"
 #include "pc/peerconnectionfactory.h"
 #include "rtc_base/gunit.h"
-#include "rtc_base/thread.h"
+
 #ifdef WEBRTC_ANDROID
 #include "pc/test/androidtestinitializer.h"
 #endif
diff --git a/pc/peerconnectioninterface_unittest.cc b/pc/peerconnectioninterface_unittest.cc
index c1facac..a3cf315 100644
--- a/pc/peerconnectioninterface_unittest.cc
+++ b/pc/peerconnectioninterface_unittest.cc
@@ -40,10 +40,7 @@
 #include "pc/videocapturertracksource.h"
 #include "pc/videotrack.h"
 #include "rtc_base/gunit.h"
-#include "rtc_base/ssladapter.h"
-#include "rtc_base/sslstreamadapter.h"
 #include "rtc_base/stringutils.h"
-#include "rtc_base/thread.h"
 #include "rtc_base/virtualsocketserver.h"
 #include "test/gmock.h"
 
diff --git a/pc/proxy_unittest.cc b/pc/proxy_unittest.cc
index 00d2195..81f040a 100644
--- a/pc/proxy_unittest.cc
+++ b/pc/proxy_unittest.cc
@@ -15,7 +15,6 @@
 
 #include "rtc_base/gunit.h"
 #include "rtc_base/refcount.h"
-#include "rtc_base/thread.h"
 #include "test/gmock.h"
 
 using ::testing::_;
diff --git a/pc/rtcstatscollector_unittest.cc b/pc/rtcstatscollector_unittest.cc
index 48048c2..cb5a79f 100644
--- a/pc/rtcstatscollector_unittest.cc
+++ b/pc/rtcstatscollector_unittest.cc
@@ -22,7 +22,6 @@
 #include "api/stats/rtcstatsreport.h"
 #include "api/test/mock_rtpreceiver.h"
 #include "api/test/mock_rtpsender.h"
-#include "logging/rtc_event_log/rtc_event_log.h"
 #include "media/base/fakemediaengine.h"
 #include "media/base/test/mock_mediachannel.h"
 #include "p2p/base/p2pconstants.h"
@@ -38,7 +37,6 @@
 #include "rtc_base/fakesslidentity.h"
 #include "rtc_base/gunit.h"
 #include "rtc_base/logging.h"
-#include "rtc_base/socketaddress.h"
 #include "rtc_base/thread_checker.h"
 #include "rtc_base/timedelta.h"
 #include "rtc_base/timeutils.h"
diff --git a/pc/rtpsenderreceiver_unittest.cc b/pc/rtpsenderreceiver_unittest.cc
index b4b28bd..5b0b59e 100644
--- a/pc/rtpsenderreceiver_unittest.cc
+++ b/pc/rtpsenderreceiver_unittest.cc
@@ -12,9 +12,7 @@
 #include <string>
 #include <utility>
 
-#include "logging/rtc_event_log/rtc_event_log.h"
 #include "media/base/fakemediaengine.h"
-#include "media/base/mediachannel.h"
 #include "media/engine/fakewebrtccall.h"
 #include "p2p/base/faketransportcontroller.h"
 #include "pc/audiotrack.h"
@@ -29,7 +27,6 @@
 #include "pc/videotrack.h"
 #include "pc/videotracksource.h"
 #include "rtc_base/gunit.h"
-#include "rtc_base/sigslot.h"
 #include "test/gmock.h"
 #include "test/gtest.h"
 
diff --git a/pc/statscollector_unittest.cc b/pc/statscollector_unittest.cc
index d2d34b5..6a1d827 100644
--- a/pc/statscollector_unittest.cc
+++ b/pc/statscollector_unittest.cc
@@ -16,7 +16,6 @@
 #include "pc/statscollector.h"
 
 #include "api/mediastreaminterface.h"
-#include "logging/rtc_event_log/rtc_event_log.h"
 #include "media/base/fakemediaengine.h"
 #include "media/base/test/mock_mediachannel.h"
 #include "pc/channelmanager.h"
@@ -32,7 +31,6 @@
 #include "rtc_base/base64.h"
 #include "rtc_base/fakesslidentity.h"
 #include "rtc_base/gunit.h"
-#include "rtc_base/network.h"
 #include "rtc_base/stringencode.h"
 #include "test/gmock.h"
 #include "test/gtest.h"
diff --git a/pc/test/androidtestinitializer.cc b/pc/test/androidtestinitializer.cc
index c9525f8..f39a3e7 100644
--- a/pc/test/androidtestinitializer.cc
+++ b/pc/test/androidtestinitializer.cc
@@ -12,6 +12,7 @@
 
 #include <pthread.h>
 
+
 #include "rtc_base/ignore_wundef.h"
 
 // Note: this dependency is dangerous since it reaches into Chromium's base.
@@ -22,8 +23,13 @@
 #include "base/android/jni_android.h"
 RTC_POP_IGNORING_WUNDEF()
 
+
 #include "modules/utility/include/jvm_android.h"
 #include "rtc_base/checks.h"
+
+// TODO(phoglund): This include is also to a target we can't really depend on.
+// We need to either break it out into a smaller target or find some way to
+// not use it.
 #include "rtc_base/ssladapter.h"
 
 namespace webrtc {
diff --git a/pc/test/fakeaudiocapturemodule_unittest.cc b/pc/test/fakeaudiocapturemodule_unittest.cc
index 6fc44a5..312c4e8 100644
--- a/pc/test/fakeaudiocapturemodule_unittest.cc
+++ b/pc/test/fakeaudiocapturemodule_unittest.cc
@@ -15,7 +15,6 @@
 #include "rtc_base/criticalsection.h"
 #include "rtc_base/gunit.h"
 #include "rtc_base/scoped_ref_ptr.h"
-#include "rtc_base/thread.h"
 
 using std::min;
 
diff --git a/pc/webrtcsdp_unittest.cc b/pc/webrtcsdp_unittest.cc
index 3acad29..eea8e01 100644
--- a/pc/webrtcsdp_unittest.cc
+++ b/pc/webrtcsdp_unittest.cc
@@ -16,16 +16,14 @@
 #include "api/jsepsessiondescription.h"
 #include "media/base/mediaconstants.h"
 #include "media/engine/webrtcvideoengine.h"
-#include "modules/video_coding/codecs/h264/include/h264.h"
 #include "p2p/base/p2pconstants.h"
 #include "pc/mediasession.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/gunit.h"
 #include "rtc_base/logging.h"
-#include "rtc_base/messagedigest.h"
-#include "rtc_base/sslfingerprint.h"
 #include "rtc_base/stringencode.h"
 #include "rtc_base/stringutils.h"
+
 #ifdef WEBRTC_ANDROID
 #include "pc/test/androidtestinitializer.h"
 #endif
diff --git a/pc/webrtcsession_unittest.cc b/pc/webrtcsession_unittest.cc
index 8c2331a..fe0049d 100644
--- a/pc/webrtcsession_unittest.cc
+++ b/pc/webrtcsession_unittest.cc
@@ -15,7 +15,6 @@
 #include "api/fakemetricsobserver.h"
 #include "api/jsepicecandidate.h"
 #include "api/jsepsessiondescription.h"
-#include "logging/rtc_event_log/rtc_event_log.h"
 #include "media/base/fakemediaengine.h"
 #include "media/base/fakevideorenderer.h"
 #include "media/base/mediachannel.h"
@@ -40,12 +39,7 @@
 #include "rtc_base/firewallsocketserver.h"
 #include "rtc_base/gunit.h"
 #include "rtc_base/logging.h"
-#include "rtc_base/network.h"
-#include "rtc_base/ssladapter.h"
-#include "rtc_base/sslidentity.h"
-#include "rtc_base/sslstreamadapter.h"
 #include "rtc_base/stringutils.h"
-#include "rtc_base/thread.h"
 #include "rtc_base/virtualsocketserver.h"
 
 using cricket::FakeVoiceMediaChannel;
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index 31848df..7a76b7e 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -777,6 +777,7 @@
     "nattypes.h",
     "proxyserver.cc",
     "proxyserver.h",
+    "refcount.h",
     "sha1.cc",
     "sha1.h",
     "sha1digest.cc",