Beginning implementation of SessionDependencyFactory.

As we discussed in the email thread DevTools Bridge must not depend on libjingle_peerconnection_so.so
for several reasons. To aheive that we need implementation of SessionDependencyFactory
on top of libjingle's C++ API. This CL adds dummy SessionDependencyFactoryNative and
introduces additional test APK. Both testing APKs will coexist for a while. When
SessionDependencyFactoryNative be ready to replace Java API counterpart additional APK
also won't be needed.

BUG=383418

Review URL: https://codereview.chromium.org/704613003

Cr-Commit-Position: refs/heads/master@{#303421}
diff --git a/components/devtools_bridge.gyp b/components/devtools_bridge.gyp
index 0f8914be..a8d7de15 100644
--- a/components/devtools_bridge.gyp
+++ b/components/devtools_bridge.gyp
@@ -5,6 +5,32 @@
 {
   'targets': [
     {
+      'target_name': 'devtools_bridge_jni_headers',
+      'type': 'none',
+      'sources': [
+        'devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SessionDependencyFactoryNative.java',
+      ],
+      'variables': {
+        'jni_gen_package': 'devtools_bridge',
+      },
+      'includes': [ '../build/jni_generator.gypi' ],
+    },
+    {
+      'target_name': 'devtools_bridge',
+      'type': 'static_library',
+      'sources': [
+        'devtools_bridge/android/session_dependency_factory_native.h',
+        'devtools_bridge/android/session_dependency_factory_native.cc',
+      ],
+      'dependencies': [
+        '../base/base.gyp:base',
+        '../third_party/libjingle/libjingle.gyp:libjingle_webrtc',
+        '../third_party/libjingle/libjingle.gyp:libpeerconnection',
+        '../third_party/webrtc/base/base.gyp:webrtc_base',
+        'devtools_bridge_jni_headers',
+      ],
+    },
+    {
       'target_name': 'devtools_bridge_javalib',
       'type': 'none',
       'variables': {
@@ -14,6 +40,18 @@
       'dependencies': [
         '../third_party/android_tools/android_tools.gyp:android_gcm',
         '../third_party/libjingle/libjingle.gyp:libjingle_peerconnection_javalib',
+        '../base/base.gyp:base_java',
+      ],
+    },
+    {
+      'target_name': 'libdevtools_bridge_natives_so',
+      'type': 'shared_library',
+      'sources': [
+        'devtools_bridge/test/android/javatests/jni/jni_onload.cc',
+      ],
+      'dependencies': [
+        '../base/base.gyp:base',
+        'devtools_bridge',
       ],
     },
     {
@@ -44,5 +82,21 @@
       },
       'includes': [ '../build/java_apk.gypi' ],
     },
+    {
+      'target_name': 'devtools_bridge_tests2_apk',
+      'type': 'none',
+      'dependencies': [
+        'devtools_bridge_javalib',
+        'libdevtools_bridge_natives_so',
+      ],
+      'variables': {
+        'apk_name': 'DevToolsBridgeTest2',
+        'test_suite_name': 'devtools_bridge_tests',
+        'java_in_dir': 'devtools_bridge/android/javatests2',
+        'native_lib_target': 'libdevtools_bridge_natives_so',
+        'is_test_apk': 1,
+      },
+      'includes': [ '../build/java_apk.gypi' ],
+    },
   ],
 }