Removing StartRequest override from DO2TS and virtual keyword from O2TS.StartRequest

* Removing virtual keyword from OAuth2TokenService.StartRequest
* Introducing virtual CreateRequest in OAuth2TokenService to allow derive classes to control the creation of Requests
* Overriding CreateRequest in DeviceOAuth2TokenService with a wrapper over the Consumer, so that the refresh token can be validated by ValidatingConsumer, before it is passed on to the actual consumer.

BUG=282454

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225343 0039d316-1c4b-4281-b951-d872f2087c98
Fix external protocol dialog not being shown on ChromeOS.

The external protocol dialog is not shown if Chrome is the default
application for the external protocol.

BUG=240564
TEST=manual

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225344 0039d316-1c4b-4281-b951-d872f2087c98
NSS: don't advertise TLS 1.2-only ciphersuites in a TLS 1.1 ClientHello.

Chrome is advertising SHA256 ciphersuites with a TLS 1.1 ClientHello. This
breaks PolarSSL servers because they also have a bug: they accept the SHA256
ciphersuite and then break because they negotiated TLS 1.1

This change causes NSS not to advertise cipher suites that aren't applicable to
the version being negotiated.

BUG=297151

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

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