Allow the webstore to re-run the app launcher install flow.

This CL lets the app launcher install flow continue even when
prefs::kAppLauncherHasBeenEnabled is set to true. Only when
EnableAppList is triggered via the button on the webstore.

Note that the webstore page at
https://chrome.google.com/webstore/launcher will not actually show the
button when kAppLauncherHasBeenEnabled is true, but this will allow that
(or an alternative page) to provide a re-enable option.

BUG=256117, 315964, 269541

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254941 0039d316-1c4b-4281-b951-d872f2087c98
Mojo: add scaffolding for request/response support

Introduces MessageHeaderWithRequestID, which extends MessageHeader, and a corresponding MessageWithRequestIDBuilder.

Adds an AcceptWithResponder method to MessageReceiver. The idea is that this will be used by generated proxy code to kick off a request that expects a response. Somehow we will bind a user supplied callback to a MessageReceiver::Accept implementation. Details TBD.

Internally, Connector might get broken down into two layers: a core pump layer (the code that currently exists) and a router layer that'll be responsible for routing incoming messages to the proper MessageReceiver, either a registered responder or the default incoming receiver.

Originally reviewed here: https://codereview.chromium.org/185803002/

R=davemoore@chromium.org
TBR=sky@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254942 0039d316-1c4b-4281-b951-d872f2087c98
Make csharp@ and robertshield@ owners of chrome_elf_init_*

TBR=sky@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254943 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 254943
telemetry: three minor clean-ups.

- Alphabetize imports in image_decoding.py.
- Remove unused SetStats in smoothness metric.
- Remove enable-gpu-benchmarking flag from smoothness measurement
  (the actions set that as needed).

R=tonyg@chromium.org,dtu@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254944 0039d316-1c4b-4281-b951-d872f2087c98
Password manager internals page: wire page updates to the client

This is step 2, following https://codereview.chromium.org/184413002. It has 1 main part and 2 tests:

1) Main part
The internals page now notifies the PasswordManagerClients when it gets created and destroyed.
The clients expose a SendLogToInternalsPage method for adding logs to the internals page. This method will be used by password managers to log progress in the next CL. Currently it is only used in tests.

2) Internals page browser test
It navigates to chrome://password-manager-internals. Then it grabs the WebUI controller of that page, and adds some logs. It checks through JavaScript that the logs are there. My main concerns are whether I'm waiting correctly after logging and before checking to avoid flakiness, but I see neither an issue, nor problems during running.

3) ChromePasswordManagerClient unit test
It checks that SendLogToInternalsPage works when attached to a controller, and is a no-op without a controller.
To do this, I had to mock out the controller, and introduce a factory to inject it, so the test is bigger than expected.

BUG=347927
TBR=gcasto@chromium.org

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

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