Roll chromium_revision 289723:291647

To pick up recent fixes after the Chromium Git switch.

Relevant changes pulled in by this roll:
* r291168 refactor sanitizer_options (we can now remove some hacks)
* r291647 roll of nss.gyp (its paths work with how we build for iOS).

BUG=2863,3731
R=iannucci@chromium.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6967 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/build/sanitizer_options.gyp b/build/sanitizer_options.gyp
deleted file mode 100644
index 32dcf36..0000000
--- a/build/sanitizer_options.gyp
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright (c) 2014 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.
-
-# This is a similar target to the one in Chromium's base.gyp. It's needed to get
-# the same sanitizer settings as Chromium uses (i.e. ASan, LSan, TSan...).
-{
-  'targets': [
-    {
-      'target_name': 'sanitizer_options',
-      'type': 'static_library',
-      'toolsets': ['host', 'target'],
-      'variables': {
-         # Every target is going to depend on sanitizer_options, so allow
-         # this one to depend on itself.
-         'prune_self_dependency': 1,
-         # Do not let 'none' targets depend on this one, they don't need to.
-         'link_dependency': 1,
-       },
-      'sources': [
-        '<(DEPTH)/tools/sanitizer_options/sanitizer_options.cc',
-      ],
-      'include_dirs': [
-        '<(DEPTH)',
-      ],
-      # Some targets may want to opt-out from ASan, TSan and MSan and link
-      # without the corresponding runtime libraries. We drop the libc++
-      # dependency and omit the compiler flags to avoid bringing instrumented
-      # code to those targets.
-      'conditions': [
-        ['use_custom_libcxx==1', {
-          'dependencies!': [
-            '<(DEPTH)/third_party/libc++/libc++.gyp:libcxx_proxy',
-          ],
-        }],
-        ['tsan==1', {
-          'sources': [
-            'tsan_suppressions.cc',
-          ],
-        }],
-      ],
-      'cflags!': [
-        '-fsanitize=address',
-        '-fsanitize=thread',
-        '-fsanitize=memory',
-        '-fsanitize-memory-track-origins',
-      ],
-      'direct_dependent_settings': {
-        'ldflags': [
-          '-Wl,-u_sanitizer_options_link_helper',
-        ],
-      },
-    },
-  ],  # targets
-}
diff --git a/build/tsan_suppressions.cc b/build/tsan_suppressions_webrtc.cc
similarity index 100%
rename from build/tsan_suppressions.cc
rename to build/tsan_suppressions_webrtc.cc
diff --git a/supplement.gypi b/supplement.gypi
index 0a10cbc..4bf8598 100644
--- a/supplement.gypi
+++ b/supplement.gypi
@@ -5,17 +5,20 @@
     },
     'webrtc_root%': '<(webrtc_root)',
     'build_with_chromium': 0,
-    'use_sanitizer_options': 0,
   },
   'target_defaults': {
-    'conditions': [
-      # Add default sanitizer options similar to Chromium. This cannot be
-      # put in webrtc/build/common.gypi since that file is not included by
-      # third party code (yasm will throw leak errors during compile when
-      # GYP_DEFINES="asan=1".
-      ['OS=="linux" and (chromeos==0 or target_arch!="ia32")', {
-        'dependencies': [
-          '<(webrtc_root)/build/sanitizer_options.gyp:sanitizer_options',
+    'target_conditions': [
+      ['_target_name=="sanitizer_options"', {
+        'conditions': [
+          ['tsan==1', {
+            # Replace Chromium's TSan v2 suppressions with our own for WebRTC.
+            'sources/': [
+              ['exclude', 'tsan_suppressions.cc'],
+            ],
+            'sources': [
+              '<(webrtc_root)/build/tsan_suppressions_webrtc.cc',
+            ],
+          }],
         ],
       }],
     ],