| Index: build/common.gypi
 | 
| diff --git a/build/common.gypi b/build/common.gypi
 | 
| index 7be6ee083d1e0a0924755dce83c40fee6d392c14..6d619e53bfdf93117ce5773b1e0d8b040da0b103 100644
 | 
| --- a/build/common.gypi
 | 
| +++ b/build/common.gypi
 | 
| @@ -5277,11 +5277,60 @@
 | 
|          ],
 | 
|          'msvs_cygwin_shell': 0,
 | 
|          'msvs_disabled_warnings': [
 | 
| -          4351, 4355, 4396, 4503, 4819,
 | 
| +          # C4127: conditional expression is constant
 | 
| +          # This warning can in theory catch dead code and other problems, but
 | 
| +          # triggers in far too many desirable cases where the conditional
 | 
| +          # expression is either set by macros or corresponds some legitimate
 | 
| +          # compile-time constant expression (due to constant template args,
 | 
| +          # conditionals comparing the sizes of different types, etc.).  Some of
 | 
| +          # these can be worked around, but it's not worth it.
 | 
| +          4127,
 | 
| +
 | 
| +          # C4351: new behavior: elements of array 'array' will be default
 | 
| +          #        initialized
 | 
| +          # This is a silly "warning" that basically just alerts you that the
 | 
| +          # compiler is going to actually follow the language spec like it's
 | 
| +          # supposed to, instead of not following it like old buggy versions
 | 
| +          # did.  There's absolutely no reason to turn this on.
 | 
| +          4351,
 | 
| +
 | 
| +          # C4355: 'this': used in base member initializer list
 | 
| +          # It's commonly useful to pass |this| to objects in a class'
 | 
| +          # initializer list.  While this warning can catch real bugs, most of
 | 
| +          # the time the constructors in question don't attempt to call methods
 | 
| +          # on the passed-in pointer (until later), and annotating every legit
 | 
| +          # usage of this is simply more hassle than the warning is worth.
 | 
| +          4355,
 | 
| +
 | 
| +          # C4503: 'identifier': decorated name length exceeded, name was
 | 
| +          #        truncated
 | 
| +          # This only means that some long error messages might have truncated
 | 
| +          # identifiers in the presence of lots of templates.  It has no effect
 | 
| +          # on program correctness and there's no real reason to waste time
 | 
| +          # trying to prevent it.
 | 
| +          4503,
 | 
| +          
 | 
| +          # C4611: interaction between 'function' and C++ object destruction is
 | 
| +          #        non-portable
 | 
| +          # This warning is unavoidable when using e.g. setjmp/longjmp.  MSDN
 | 
| +          # suggests using exceptions instead of setjmp/longjmp for C++, but
 | 
| +          # Chromium code compiles without exception support.  We therefore have
 | 
| +          # to use setjmp/longjmp for e.g. JPEG decode error handling, which
 | 
| +          # means we have to turn off this warning (and be careful about how
 | 
| +          # object destruction happens in such cases).
 | 
| +          4611,
 | 
| +
 | 
|            # TODO(maruel): These warnings are level 4. They will be slowly
 | 
|            # removed as code is fixed.
 | 
| -          4100, 4121, 4125, 4127, 4130, 4131, 4189, 4201, 4238, 4244, 4245,
 | 
| -          4310, 4428, 4481, 4505, 4510, 4512, 4530, 4610, 4611, 4701, 4706,
 | 
| +          4100, # Unreferenced formal parameter
 | 
| +          4121, # Alignment of a member was sensitive to packing
 | 
| +          4189, # Local variable is initialized but not referenced
 | 
| +          4244, # Conversion from 'type1' to 'type2', possible loss of data
 | 
| +          4481, # Nonstandard extension used: override specifier 'keyword'
 | 
| +          4505, # Unreferenced local function has been removed
 | 
| +          4510, # Default constructor could not be generated
 | 
| +          4512, # Assignment operator could not be generated
 | 
| +          4610, # Object can never be instantiated
 | 
|          ],
 | 
|          'msvs_settings': {
 | 
|            'VCCLCompilerTool': {
 | 
| 
 |