Allow assertions to be enabled in Blink Release builds.

The new GYP/GN variable blink_asserts_always_on (mirroring Chromium's
dcheck_always_on) can be set to 1 to enable assertions in Release
builds.

Tests of NDEBUG related to assertions have been changed to test
ENABLE(ASSERT). Printing/debugging-only code is still guarded under
NDEBUG. Debug-only fields and counters remain debug-only.

Once this CL lands, Blink's assertions will be enabled on the GPU
bots, which only test Release builds (with dcheck_always_on).

Tested:
 - WebGL conformance tests, Release build, asserts on
 - Release build, asserts on, inserted ASSERT(FALSE) guarded under
   ENABLE(ASSERT), verified it was triggered
 - Release build, asserts on, inserted ASSERT(FALSE) guarded under
   ENABLE(SECURITY_ASSERT), verified it was triggered
 - WebGL conformance/context tests, Release build, asserts on, with
   https://codereview.chromium.org/251373005, verified assertion
   failure was triggered
 - WebGL conformance/context tests, Debug build, default assertion
   behavior, with https://codereview.chromium.org/251373005, verified
   assertion failure was triggered
 - wtf_unittests, Release build, asserts on

BUG=393838

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

git-svn-id: svn://svn.chromium.org/blink/trunk@178404 bbb929c8-8fbe-4397-9dbb-9b2b20218538
148 files changed
tree: de84de68c68c644ba3cab902813a6e07e5b0df07
  1. third_party/