Set the default ASan options for executables built with ASan on Linux.

This is a copy of https://codereview.chromium.org/25687005/ updated for the current trunk
with the link_dependency attribute speculatively added to base/base.gyp:sanitizer_options
to avoid potential dependency cycles.

This CL introduces a module, base/debug/sanitizer_options.cc, which will override
the defaults for various dynamic tools (only ASan at this moment). For every executable
built with a dynamic tool this module will be linked into that executable, providing
weak functions to be called by the tool.

The existing declaration of __asan_default_options() in chrome/app/chrome_exe_main_gtk.cc
has been moved into sanitizer_options.cc (now every binary built with GOOGLE_CHROME_BUILD=1
will have the same options as google-chrome-asan.
The existing declaration of __asan_default_options() in chrome/nacl/nacl_helper_linux.cc
has been kept as is, but we had to remove -Wl,-u_sanitizer_options_link_helper to avoid picking sanitizer_options.cc.

GYP changes for OSX and iOS will be committed separately.

BUG=302040
TBR=thakis@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259561 0039d316-1c4b-4281-b951-d872f2087c98
Captive portal UMA metrics are split to in-session and OOBE metrics.

BUG=231758
TEST=unit_tests:NetworkPortalDetector*, browser_tests:NetworkPortalDetector*

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259563 0039d316-1c4b-4281-b951-d872f2087c98
Cleanup: Remove some unused parameters in a Drive FileAPI internal function.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259564 0039d316-1c4b-4281-b951-d872f2087c98
Revert of content: Avoid duplicating the logic used to determine GPU features. (https://codereview.chromium.org/212003002/)

Reason for revert:
Breaks webkit_tests on android: http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Android%20%28Nexus4%29/builds/11175

Original issue's description:
> content: Avoid duplicating the logic used to determine GPU features.
> 
> For features that need to be determined if used in the browser,
> keep all the logic on browser side rather than duplicating it
> in the renderer.
> 
> BUG=354449
> 
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=259543

TBR=piman@chromium.org,reveman@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=354449

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259565 0039d316-1c4b-4281-b951-d872f2087c98
third_party/opus: Suppress a warning that is being generated in debug builds.

The warning is a pragma that informs us that optimizations are turned off (which
will be true in debug builds).

BUG=355440

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259567 0039d316-1c4b-4281-b951-d872f2087c98
Verify inner classes in the Blink GC plugin.

Checks of inner classes were missing due to incorrect code for ignoring non-blink namespaces.

BUG=334149
R=ager@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259568 0039d316-1c4b-4281-b951-d872f2087c98
[Telemetry] OSX: powermetrics can sometimes return zero length output

In case of zero length output, do not record power stats. Current behavior is to fail hard with an assert.

This condition is a cause of flake on the bots.

BUG=353250
TBR=marja@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259569 0039d316-1c4b-4281-b951-d872f2087c98
Specify printing format of touch point co-ordinates.

Currently touch point co-ordinates are printed as floating point,
with no specified number of decimal places. This leads to inconsistent
and hard to read output. This patch prints touch point co-ordinates with
two decimal places of accuracy.

A follow up patch will re-enable
plugins/touch-events-details.html and
plugins/transformed-events.html,
and update their expectations.

BUG=354787

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259570 0039d316-1c4b-4281-b951-d872f2087c98
DevTools: Do not create unnecessary port forwarding connections

Create port forwarding connections to a device only if port forwarding
is enabled in the preferences and the port map is not empty.

BUG=355611

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259571 0039d316-1c4b-4281-b951-d872f2087c98
Implement the new createWebAudioSourceFromMediaStreamTrack interface.

NOTRY=true

BUG=354468

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259572 0039d316-1c4b-4281-b951-d872f2087c98
roll skia DEPS to 13948

Chromium base revision: 259366 / e1b2ab65
Old Skia revision: 13928
New Skia revision: 13948
Control CL: https://codereview.chromium.org/208833006

This CL was created by Skia's roll_deps.py script.

Bypassing commit queue trybots:
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259573 0039d316-1c4b-4281-b951-d872f2087c98
Disallow Member fields in "unmanaged" classes.

An unmanaged class is a class that is allocated on the non-managed C++ heap. In other words, an "unmanaged" object is not GC allocated, stack allocated, inline allocated in a collection, or allocated as a part of a GC allocated object.

BUG=334149
R=ager@chromium.org, haraken@chromium.org
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259574 0039d316-1c4b-4281-b951-d872f2087c98
Update .DEPS.git

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259575 0039d316-1c4b-4281-b951-d872f2087c98
Allow to start guest session from OOBE error screen.

This adds a guest session startup handler for the error screen so it
also works for the case where the error screen is shown during OOBE.
This is used for the forced re-enrollment error screen which may show
during OOBE after the AU step in case we can't connect to the device
management server.

BUG=chromium:355560
TEST=Manual, guest session can now be launched from the FRE error screen.
R=ygorshenin@chromium.org
TBR=ben@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259577 0039d316-1c4b-4281-b951-d872f2087c98
Blink roll 169949:170051

http://build.chromium.org/f/chromium/perf/dashboard/ui/changelog_blink.html?url=/trunk&range=169950:170051&mode=html
TBR=
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259578 0039d316-1c4b-4281-b951-d872f2087c98
Update .DEPS.git

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259579 0039d316-1c4b-4281-b951-d872f2087c98
Move wm/public into wm target

TBR=sky@chromium.org
http://crbug/com/308710

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259580 0039d316-1c4b-4281-b951-d872f2087c98
Fix bustage with nested namespace

BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259581 0039d316-1c4b-4281-b951-d872f2087c98
Fix link issue

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259582 0039d316-1c4b-4281-b951-d872f2087c98
Fix dep error for non-Aura

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259585 0039d316-1c4b-4281-b951-d872f2087c98