Limit scope of settings API configuration and proxy permission

The proxy API permission gave an extension super power: It gained complete
incognito permission. This was introduced in r210766 and is reverted here. The
reason for r210766 was that a proxy setting for regular mode was propagated
into incognito mode. This propagation was based on the assumption that
incognito mode inherits most settings from regular mode but has caused lots of
confusion and several bug reports. With this CL, extensions can only affect
settings of incognito mode if they have incognito permission.

BUG=346125,290423

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256362 0039d316-1c4b-4281-b951-d872f2087c98
chromeos: Simplify how chrome keeps track of caps lock state.

Notable changes:
 * Make caps-lock related tray-item explicitly chromeos-only, since there has
   never been an implementation of CapsLockDelegate for other platforms.
 * As a result, have the tray-item directly communicate with XKeyboard, instead
   of needing the CapsLockDelegate, so delete it.
 * Have the code that needs to know when the caps-lock state changes (e.g.
   TrayCapsLock, SigninScreenHandler) use a pre-target handler on Shell
   and look for VKEY_CAPITAL key-press events. This simplifies the code,
   which currently flows from:
     X11 -> SystemKeyEventListener -> SystemTrayDelegate -> SystemTrayNotifier -> TrayCapsLock
   to:
     X11 -> WindowTreeHost -> TrayCapsLock

BUG=none
R=derat@chromium.org, oshima@chromium.org, yusukes@chromium.org
TBR=nkostylev@chromium.org for c/b/ui/webui/chromeos/login changes

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256363 0039d316-1c4b-4281-b951-d872f2087c98
Disabled avatar menu signout test.

BUG=351435
TBR-dmichael,cpu, msw

R=dmichael@chromium.org, msw@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256364 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 256363
Moved policy unittests into the policy component.

These tests weren't moved into the policy component together with the
code because the components_unittests test runner didn't set up the
resource bundle the same way that the unittests runner did, which
caused these tests to fail. That has since been fixed, so the tests
can now be moved.

BUG=None

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256365 0039d316-1c4b-4281-b951-d872f2087c98
Require SSE2 for all 32-bit Linux builds and remove disable_sse2 option.

Previously, only 32-bit Google Chrome Linux was being built with x87 floating point math, which led to bugs caused by 80-to-{32,64}-bit rounding errors that weren't caught on the main Chromium builders. UMA data tells us there are ~0 Google Chrome Linux users without SSE2, making a strong case to require SSE2 across the board and align the Google Chrome build closer to the Chromium build.

As for disable_sse2 option, it was added in r45777 but it's unclear if anyone is using it outside of some other GYP code that flips it to 1 for ARM and MIPS architectures. Instead replace the few instances that don't support SSE2 with specific checks for the target architecture and remove the option entirely.

BUG=348761
R=jamesr@chromium.org
TBR=cpu

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256366 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 256366