Implement inline signin with iframe

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
This is a dup of https://codereview.chromium.org/130963006/ since I cannot
upload to that issue.  The only change is to address Xiyuan's two comments
in patchset 3 of that CL.
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

Inline signin chrome://chrome-signin is currently implemented using webview embedded in webUI, which breaks a couple of features in webUI and has serious accessbility issues. Since webview will be reimplemented based on OOPIF in the near future, and all the issues we have today will no longer apply, thus it is not worth the effort to fix them as they are throw away work. Instead, as suggested by John and prototyped in https://codereview.chromium.org/141363006/, we decide to switch to iframe instead. A few issues worth to mention,

1. The iframe shares the same renderer as the embedder webUI, and thus could be potentially exposed to dangerous webUI privileges. John suggested a fix by assigning a unique storage partition ID to the inline signin page. As a result the inline signin and its embedded web content should never share the same renderer with other webUI pages.

2. webview provides a direct API to inject script and to monitor requests/responses, which is not (directly) available with iframe. The CL works around the issue using content script and background script, quite similar to what CrOS is doing for SAML flow today. Thus it is also the first step towards unifying SAML flows on CrOS and desktop.

3. with webview approach, we used to have a unique temporary partition for each instance of inline signin, in order to make sure multiple instances do not interfere with each other. This is more difficult with the iframe approach, since the partition ID is hardcoded in a quite low layer. In this CL, all inline signin pages share the same persistent partition, which means we have to handle the case when user loads the sign in page with a dirty cookie jar, and thus the newly connected user may not be stored in the primary session. The CL solves the issue by reading 'session_index' from 'google-accounts-signin' header.

BUG=338127

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251503 0039d316-1c4b-4281-b951-d872f2087c98
Media Galleries: Refactor media scan worker function into a worker class.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251504 0039d316-1c4b-4281-b951-d872f2087c98
Cleanup: Remove unneeded browser_thread.h includes in content/.

Fix lint errors too.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251505 0039d316-1c4b-4281-b951-d872f2087c98
Use chrome_constants rather than hardcoded Preferences string in startup_test.cc.

R=nduca
BUG=343692

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251506 0039d316-1c4b-4281-b951-d872f2087c98
Updating trunk VERSION from 1841.0 to 1842.0

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251509 0039d316-1c4b-4281-b951-d872f2087c98
Fix missing #include build error from r251504.

TBR=vandebo@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251512 0039d316-1c4b-4281-b951-d872f2087c98
Fix another missing #include build error from r251504.

TBR=vandebo@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251513 0039d316-1c4b-4281-b951-d872f2087c98
Views Omnibox: Only select all on update with previous selection.

BUG=343852
TEST=With a clear selection clipboard on Linux Aura; type "chrome://apps"+[ENTER]; open a new tab and middle click in the empty omnibox; no text should be pasted. No selection/update or other Omnibox behavior regressions.
R=pkasting@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251516 0039d316-1c4b-4281-b951-d872f2087c98
rAc: minimal crash fix for bug 342990.

BUG=342990
TEST=no more crashes
R=estade@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251517 0039d316-1c4b-4281-b951-d872f2087c98
Make SyzyAsan depend on 'syzyasan' GYP flag instead of 'asan==1 and OS=="win"'

We're bringing the regular Clang-based ASan to Windows and will put it behind
asan==1 like on all other platforms.

BUG=343960

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251518 0039d316-1c4b-4281-b951-d872f2087c98
Remove unused WebLayerTreeViewImplForTesting::composite

BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251519 0039d316-1c4b-4281-b951-d872f2087c98
Updates to wallet for i18n

BUG=340905
TBR=aruslan@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251520 0039d316-1c4b-4281-b951-d872f2087c98
Cast: Implemented size limiting and event filtering in EncodingEventSubscriber.

All raw events are categorized into one of three types: video, audio, or other (i.e. not associated with a particular
stream). EncodingEventSubscriber can be configured to only process either audio or video events.

The subscriber can also be configured on having a max limit on number of frames to store in the frame and packet maps.
This helps bound the memory usage of logging and the size of the blob we are uploading at the end.

How they are going to be used: for each CastRtpStream (one audio, one video) we will install a EncodingEventSubscriber,
listening to AUDIO / VIDEO events respectively. The number of events to store is yet to be determined and is
dependent on how well the data can be compressed, or what's the size limit for uploading.

Lastly, EncodingEventSubscriber has been changed to only process frame and packet related events and not generic events. We are not interested in generic events right now, and they can be computed from frame / packet events anyways.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251521 0039d316-1c4b-4281-b951-d872f2087c98
Reland 251352 "cros: Enable multiprofile for everyone."

> cros: Enable multiprofile for everyone.
>
> BUG=338941
> R=dpolukhin@chromium.org, nkostylev@chromium.org

R=dpolukhin@chromium.org, nkostylev@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251522 0039d316-1c4b-4281-b951-d872f2087c98
Blink roll 167110:167223

http://build.chromium.org/f/chromium/perf/dashboard/ui/changelog_blink.html?url=/trunk&range=167111:167223&mode=html
TBR=
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251523 0039d316-1c4b-4281-b951-d872f2087c98
Update .DEPS.git

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251524 0039d316-1c4b-4281-b951-d872f2087c98
CountingPolicyTest.RemoveActions fails on win_rel try bots.

BUG=344042

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251525 0039d316-1c4b-4281-b951-d872f2087c98
Disable FirstRunMasterPrefsWithTrackedPreferences.TrackedPreferencesSurviveFirstRun on Linux on official builder.
See below issues for details.
http://crbug.com/342427
http://crbug.com/314221

BUG=342427,314221

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251526 0039d316-1c4b-4281-b951-d872f2087c98
Remove use_system_nspr build flag. It's not "officially" supported

BUG=none
R=wtc@chromium.org, phajdan.jr@chromium.org
TBR=willchan

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251527 0039d316-1c4b-4281-b951-d872f2087c98
Fixed clean URLs for GCS file system provider in the documentation server.

NOTRY=true
R=kalman@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251528 0039d316-1c4b-4281-b951-d872f2087c98