Roll chromium_revision b0c3ed3..2c3ffb2 (316737:317530)

Includes GN changes from
https://webrtc-codereview.appspot.com/39249004/

Android changes for JNI were required due to
https://codereview.chromium.org/843103003

Other relevant changes:
* src/buildtools: 5c5e924..93b3d0a
* src/third_party/boringssl/src: d306f16..b180ee9
* src/third_party/icu: 4e3266f..2081ee6
* src/third_party/libvpx: 5cdd302..33bbffe
* src/third_party/usrsctp/usrsctplib: 190c8cb..13718c7
* src/tools/gyp: 4d7c139..3464008
* src/tools/swarming_client: bdad118..1b7bfec
Details: https://chromium.googlesource.com/chromium/src/+/b0c3ed3..2c3ffb2/DEPS

Clang version was not updated in this roll.

R=dpranke@chromium.org, phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8466}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8466 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/DEPS b/DEPS
index daaff8f..cffbf25 100644
--- a/DEPS
+++ b/DEPS
@@ -6,7 +6,7 @@
 vars = {
   'extra_gyp_flag': '-Dextra_gyp_flag=0',
   'chromium_git': 'https://chromium.googlesource.com',
-  'chromium_revision': 'b0c3ed39916e25bed2900b653974672a39fcb254',
+  'chromium_revision': '2c3ffb2355a27c32f45e508ef861416b820c823b',
 }
 
 # NOTE: Prefer revision numbers to tags for svn deps. Use http rather than
diff --git a/talk/libjingle.gyp b/talk/libjingle.gyp
index c0179da..e4cb3ed 100755
--- a/talk/libjingle.gyp
+++ b/talk/libjingle.gyp
@@ -80,7 +80,12 @@
               'sources': [
                 'app/webrtc/java/jni/androidvideocapturer_jni.cc',
                 'app/webrtc/java/jni/androidvideocapturer_jni.h',
-              ]
+              ],
+              'variables': {
+                # This library uses native JNI exports; tell GYP so that the
+                # required symbols will be kept.
+                'use_native_jni_exports': 1,
+              },
             }],
             ['OS=="android" and build_with_chromium==0', {
               'sources': [
diff --git a/webrtc/BUILD.gn b/webrtc/BUILD.gn
index 0133a1b..f4a7096 100644
--- a/webrtc/BUILD.gn
+++ b/webrtc/BUILD.gn
@@ -97,7 +97,7 @@
       # expression" warning in android_tools/ndk_experimental"s version
       # of stlport.
       # See: https://code.google.com/p/chromium/issues/detail?id=379699
-      if (cpu_arch != "arm64" || !is_android) {
+      if (current_cpu != "arm64" || !is_android) {
         cflags = [
           "-Wextra",
           # We need to repeat some flags from Chromium"s common.gypi
@@ -119,7 +119,7 @@
     }
   }
 
-  if (cpu_arch == "arm64") {
+  if (current_cpu == "arm64") {
     defines += [ "WEBRTC_ARCH_ARM" ]
     # TODO(zhongwei) Defining an unique WEBRTC_NEON and
     # distinguishing ARMv7 NEON and ARM64 NEON by
@@ -129,7 +129,7 @@
     defines += [ "WEBRTC_ARCH_ARM64_NEON" ]
   }
 
-  if (cpu_arch == "arm") {
+  if (current_cpu == "arm") {
     defines += [ "WEBRTC_ARCH_ARM" ]
     if (arm_version >= 7) {
       defines += [ "WEBRTC_ARCH_ARM_V7" ]
@@ -141,7 +141,7 @@
     }
   }
 
-  if (cpu_arch == "mipsel") {
+  if (current_cpu == "mipsel") {
     defines += [ "MIPS32_LE" ]
     if (mips_fpu) {
       defines += [ "MIPS_FPU_LE" ]
diff --git a/webrtc/base/BUILD.gn b/webrtc/base/BUILD.gn
index 3bd978c..fb3561b 100644
--- a/webrtc/base/BUILD.gn
+++ b/webrtc/base/BUILD.gn
@@ -544,7 +544,7 @@
 
     all_dependent_configs = [ ":mac_config" ]
 
-    if (cpu_arch == "x86") {
+    if (current_cpu == "x86") {
       all_dependent_configs += [ ":mac_x86_config" ]
     }
   }
@@ -590,7 +590,7 @@
     defines += [ "_DEBUG" ]
   }
 
-  if (is_ios || (is_mac && cpu_arch != "x86")) {
+  if (is_ios || (is_mac && current_cpu != "x86")) {
     defines += [ "CARBON_DEPRECATED=YES" ]
   }
 
diff --git a/webrtc/build/webrtc.gni b/webrtc/build/webrtc.gni
index 7fdd462..e128c51 100644
--- a/webrtc/build/webrtc.gni
+++ b/webrtc/build/webrtc.gni
@@ -104,13 +104,13 @@
     rtc_enable_protobuf = false
   }
 
-  if (cpu_arch == "arm") {
+  if (current_cpu == "arm") {
     rtc_prefer_fixed_point = true
   }
 
   # TODO(ljubomir): Unset rtc_use_openmax_dl for mips64el once mips64el gets
   # supported in GN (since openmax_dl is not supported for mips64el).
-  if (!is_ios && (cpu_arch != "arm" || arm_version >= 7)) {
+  if (!is_ios && (current_cpu != "arm" || arm_version >= 7)) {
     rtc_use_openmax_dl = true
   } else {
     rtc_use_openmax_dl = false
@@ -119,7 +119,7 @@
   # WebRTC builds ARM v7 Neon instruction set optimized code for both iOS and
   # Android, which is why we currently cannot use the variables in
   # //build/config/arm.gni (since it disables Neon for Android).
-  rtc_build_armv7_neon = (cpu_arch == "arm" && arm_version >= 7)
+  rtc_build_armv7_neon = (current_cpu == "arm" && arm_version >= 7)
 }
 
 # Make it possible to provide custom locations for some libraries (move these
diff --git a/webrtc/common_audio/BUILD.gn b/webrtc/common_audio/BUILD.gn
index 4a21da0..d3eced6 100644
--- a/webrtc/common_audio/BUILD.gn
+++ b/webrtc/common_audio/BUILD.gn
@@ -110,7 +110,7 @@
     deps += [ "//third_party/openmax_dl/dl" ]
   }
 
-  if (cpu_arch == "arm") {
+  if (current_cpu == "arm") {
     sources += [
       "signal_processing/complex_bit_reverse_arm.S",
       "signal_processing/spl_sqrt_floor_arm.S",
@@ -124,7 +124,7 @@
     }
   }
 
-  if (cpu_arch == "mipsel") {
+  if (current_cpu == "mipsel") {
     sources += [
       "signal_processing/include/spl_inl_mips.h",
       "signal_processing/complex_bit_reverse_mips.c",
@@ -143,7 +143,7 @@
     sources += [ "signal_processing/complex_fft.c" ]
   }
 
-  if (cpu_arch != "arm" && cpu_arch != "mipsel") {
+  if (current_cpu != "arm" && current_cpu != "mipsel") {
     sources += [
       "signal_processing/complex_bit_reverse.c",
       "signal_processing/filter_ar_fast_q12.c",
@@ -170,12 +170,12 @@
     configs -= [ "//build/config/clang:find_bad_constructs" ]
   }
 
-  if (cpu_arch == "x86" || cpu_arch == "x64") {
+  if (current_cpu == "x86" || current_cpu == "x64") {
     deps += [ ":common_audio_sse2" ]
   }
 }
 
-if (cpu_arch == "x86" || cpu_arch == "x64") {
+if (current_cpu == "x86" || current_cpu == "x64") {
   source_set("common_audio_sse2") {
     sources = [
       "fir_filter_sse.cc",
diff --git a/webrtc/modules/audio_coding/BUILD.gn b/webrtc/modules/audio_coding/BUILD.gn
index 4ce448b..a90f5be 100644
--- a/webrtc/modules/audio_coding/BUILD.gn
+++ b/webrtc/modules/audio_coding/BUILD.gn
@@ -563,7 +563,7 @@
     sources += [ "codecs/isac/fix/source/pitch_filter_c.c" ]
   }
 
-  if (cpu_arch == "mipsel") {
+  if (current_cpu == "mipsel") {
     sources += [
       "codecs/isac/fix/source/entropy_coding_mips.c",
       "codecs/isac/fix/source/filters_mips.c",
@@ -586,7 +586,7 @@
     sources += [ "codecs/isac/fix/source/pitch_estimator_c.c" ]
   }
 
-  if (!rtc_build_armv7_neon && cpu_arch != "mipsel") {
+  if (!rtc_build_armv7_neon && current_cpu != "mipsel") {
     sources += [ "codecs/isac/fix/source/lattice_c.c" ]
   }
 }
diff --git a/webrtc/modules/audio_processing/BUILD.gn b/webrtc/modules/audio_processing/BUILD.gn
index 9707f08..589b580 100644
--- a/webrtc/modules/audio_processing/BUILD.gn
+++ b/webrtc/modules/audio_processing/BUILD.gn
@@ -150,7 +150,7 @@
       "ns/nsx_core.h",
       "ns/nsx_defines.h",
     ]
-    if (cpu_arch == "mipsel") {
+    if (current_cpu == "mipsel") {
       sources += [ "ns/nsx_core_mips.c" ]
     } else {
       sources += [ "ns/nsx_core_c.c" ]
@@ -175,15 +175,15 @@
     ]
   }
 
-  if (cpu_arch == "x86" || cpu_arch == "x64") {
+  if (current_cpu == "x86" || current_cpu == "x64") {
     deps += [ ":audio_processing_sse2" ]
   }
 
-  if (rtc_build_armv7_neon || cpu_arch == "arm64") {
+  if (rtc_build_armv7_neon || current_cpu == "arm64") {
     deps += [ ":audio_processing_neon" ]
   }
 
-  if (cpu_arch == "mipsel") {
+  if (current_cpu == "mipsel") {
     sources += [ "aecm/aecm_core_mips.c" ]
     if (mips_fpu)  {
       sources += [
@@ -223,7 +223,7 @@
   }
 }
 
-if (cpu_arch == "x86" || cpu_arch == "x64") {
+if (current_cpu == "x86" || current_cpu == "x64") {
   source_set("audio_processing_sse2") {
     sources = [
       "aec/aec_core_sse2.c",
@@ -237,7 +237,7 @@
   }
 }
 
-if (rtc_build_armv7_neon || cpu_arch == "arm64") {
+if (rtc_build_armv7_neon || current_cpu == "arm64") {
   source_set("audio_processing_neon") {
     sources = [
       "aec/aec_core_neon.c",
@@ -260,7 +260,7 @@
     configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
 
     # "-mfpu=neon" is not requried for arm64 in GCC.
-    if (cpu_arch != "arm64") {
+    if (current_cpu != "arm64") {
        cflags = [ "-mfpu=neon" ]
     }
 
diff --git a/webrtc/modules/desktop_capture/BUILD.gn b/webrtc/modules/desktop_capture/BUILD.gn
index 65bf908..c23aa03 100644
--- a/webrtc/modules/desktop_capture/BUILD.gn
+++ b/webrtc/modules/desktop_capture/BUILD.gn
@@ -10,7 +10,7 @@
 import("../../build/webrtc.gni")
 
 use_desktop_capture_differ_sse2 =
-    (!is_ios && (cpu_arch == "x86" || cpu_arch == "x64"))
+    (!is_ios && (current_cpu == "x86" || current_cpu == "x64"))
 
 source_set("desktop_capture") {
   sources = [
diff --git a/webrtc/modules/video_processing/BUILD.gn b/webrtc/modules/video_processing/BUILD.gn
index 56f9190..22bb7c5 100644
--- a/webrtc/modules/video_processing/BUILD.gn
+++ b/webrtc/modules/video_processing/BUILD.gn
@@ -8,7 +8,7 @@
 
 import("../../build/webrtc.gni")
 
-build_video_processing_sse2 = cpu_arch == "x86" || cpu_arch == "x64"
+build_video_processing_sse2 = current_cpu == "x86" || current_cpu == "x64"
 
 source_set("video_processing") {
   sources = [