Enable immersive fullscreen for hosted apps part 2

BUG=307622
TEST=ImmersiveModeControllerAshTestHostedApp.Layout
Manual Test:
1) Enable "Enable immersive fullscreen for non browser windows" on ChromeOS
2) Install a hosted app (I chose "Cut the Rope")
3) Hit <F4>. Make sure that the app goes fullscreen
4) Hover the mouse at the top of the display and make sure that the window header slides out
5) Hit <F4>. Make sure that the app returns to its formal state.
6) Go to popuptest.com/popuptest1.html in a normal browser window
7) Active one of the popup windows and hit <F4>.
8) Make sure that the popup goes fullscreen
9) Hover the mouse at the top of the display and make sure that the window header slides out
10) Hit <F4>. Make sure that the popup returns to its formal state

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238288 0039d316-1c4b-4281-b951-d872f2087c98
touch: Fix touch-event hit-testing for multiple touch points.

If the first touch press happens on a touch-region, but then moves out of that
region, and the second press happens again on the touch-region, then the hit-test
for the second finger would fail because the code used to only look at the position
of the first touch point. Fix that to make sure the position of the new touch
point is used for hit-testing.

BUG=321457
R=jamesr@chromium.org, rbyers@chromium.org
TBR=jochen@chromium.org for content_tests.gypi

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238289 0039d316-1c4b-4281-b951-d872f2087c98
Add chrome://quit to shut down Chrome, including packaged apps.

Now that packaged apps are not quit when using wrench quit, there is no
way to completely shut down Chrome. While this is normally a good thing
as apps are intended to be separate from Chrome, for developers and
other power users, the ability to completely shut down Chrome can be a
useful function. This also blacklists chrome://quit and chrome://restart
from being saved to the user's session to prevent quit or restart loops.

BUG=317414

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238290 0039d316-1c4b-4281-b951-d872f2087c98
[list.js] Consider vertical paddings of list view when scrolling

Previously, the paddings were not considered in the check if the row was visible or not. This patch fixes this bug.

BUG=324819
TEST=manually tested

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238291 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 238290
Identity API: add multi-account support to token cache and request queues

This change is part of adding chrome.identity.getAccountAndAuthToken.

The token cache in IdentityAPI and the IdentityMintRequestQueue both had
separate code for tranlating the same API parameters to a lookup key for
their internal maps. They now both use ExtensionTokenKey.

The ExtensionTokenKey includes an account_id field which will allow its
users to support multiple accounts in one profile. All callers currently
use the primary account ID, but will be updated in a future change.

This change also fixes a bug where getAuthToken would return tokens
for the wrong user after switching the account on the profile.

BUG=324874, 322284

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

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