New Sync datatype for Synced Notifications App Info

This is the first checkin for creating a new sync datatype for the synced notifications app info.  The new datatype will be used for synced notification metadata such as the name and icon of the service sending the synced notification.

BUG=280266

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247551 0039d316-1c4b-4281-b951-d872f2087c98
Clean up BrowserWindowController by using the ObjCCast helper function.

BUG=none
TEST=no change

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247553 0039d316-1c4b-4281-b951-d872f2087c98
Kills some dead code because it is no longer possible to drag maximized windows. (https://codereview.chromium.org/80323002)

Also removes DragDetails::window_resizer which is no longer needed.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247555 0039d316-1c4b-4281-b951-d872f2087c98
Simplify directory initialization in Files app.

This patch cleans up the initialization code, by separating the current directory from selection. Before, there was only one variable holding either current directory or the selection, and heuristics were used to determine how to interpred the path there.
The new code is also a preparation for migrating to URLs, since there are no more operations on the passed paths on the JS side. Note, that before we were fetching parent of a non existing path, which would be very tricky after migrating to URLs.

And finally, this patch fixes wrong behaviour of the select directory dialog. Since now, the selected directory is really selected, and not opened.

TEST=Tested manually several scenarios. All dialogs + recovering from crash. Drive and Downloads.
BUG=328767, 321962

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247556 0039d316-1c4b-4281-b951-d872f2087c98
Fix a leak in client_cert_resolver

BUG=272596
TEST=chromeos_unittests under valgrind

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247558 0039d316-1c4b-4281-b951-d872f2087c98
drive: FileCache::Store marks the entry as dirty if empty MD5 is given

Store() and MarkAsDirty() should be performed together, atomically.
Otherwise, it may cause troubles when something goes wrong. (e.g. sudden shutdown of the device)

Provide a way to perform Store() and MarkAsDirty() at the same time by specially handling empty MD5.

BUG=260539
TEST=unit_tests

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247559 0039d316-1c4b-4281-b951-d872f2087c98
Clarify and separate the concept of "Drive path" and "Filesystem relative path".

- RelativeFileSystemPath (also called VirtualPath) is the path appended
in the filesystem URL, after .../external/. So it looks like
"drive-xxx/root/foo/bar" or "Downloads-xxx/foo/bar".
Note that in the Drive case, it begins with the mount point name,
that differs from profile to profile.

- DrivePath is the path in the hierarchy we manage in drive::ResourceMetadata.
It is like "drive/root/foo/bar" and always begins with "drive".

Every path comes from drive::FileSystem is in DrivePath.
Every path that will be the part of FileSystem API must be in RelativeFileSystemPath.
We need proper conversion for the bridging codes.

BUG=337095

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247561 0039d316-1c4b-4281-b951-d872f2087c98
Move 'profile' histograms to public list.

BUG=305652,223859

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247562 0039d316-1c4b-4281-b951-d872f2087c98
Fix mistaken assumptions in tests

This test assumes that spinning the event loop is sufficient to trigger
asynchronous style recalculation. After we move style recalculation to be
triggered off requestAnimationFrame, this assumption will no longer be valid.
This CL removes this assumption by triggering layout explicitly

R=fsamuel@chromium.org
BUG=337617

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247563 0039d316-1c4b-4281-b951-d872f2087c98
Protect AppListItemList Add/Remove and fix sync bugs

This should fixe the issues seen in the bug, and includes some cleanup
in prep for syncing folders.

BUG=338520
TBR=jamescook@chromium.org for ash_shell.cc

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247565 0039d316-1c4b-4281-b951-d872f2087c98
DevTools: Fix "Add folder" infobar message.

BUG=334202
R=pfeldman

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247566 0039d316-1c4b-4281-b951-d872f2087c98
Updated expected_deps_{i386,x86_64} to match actual deps.

Dependencies added in the range 247500-247514.  I suspect 247509, a
blink roll.

BUG=None
NOTRY=true
NOTREECHECKS=true
TBR=phajdan.jr@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247567 0039d316-1c4b-4281-b951-d872f2087c98
Change destruction order of FocusController

Currently the FocusController is destroyed after the root
window. FocusController may use
DesktopNativeWidgetAura::content_window_. Since the FocusController is
destroyed after content_window_ it is entirely possible for
FocusController to attempt to use content_window_ after it's been
destroyed.

This patch destroys FocusController before the root.

BUG=314118
TEST=covered by test
R=ben@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247568 0039d316-1c4b-4281-b951-d872f2087c98
Apply automatic range checks to CC enum types across IPC.

This is part of a long-running background task to remove the remaining
uses of the unchecked IPC_ENUM_TRAITS() macro.

BUG=246708

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247569 0039d316-1c4b-4281-b951-d872f2087c98
Check WindowDelegate in the methods which assume the target has the delegate.

BUG=338787
R=sadrul@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247570 0039d316-1c4b-4281-b951-d872f2087c98
android envsetup: Remove default_target=All

If targets shouldn't be part of the android build, they should be conditional
in gyp instead.

Removing this line leads to 17 more files being compiled and one more binary
(printing_unittests) being linked on the open source bots, and there are no
build errors.

(An internal build of the 'all' target is also successful, and it builds only
183 additional edges too, which add about 1 minute / 5% to build time.)

BUG=330631
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247571 0039d316-1c4b-4281-b951-d872f2087c98
Linux: tear down Zygote at browser shutdown.

In BrowserMainLoop::ShutdownThreadsAndCleanUp(), we explicitly call
a new ZygoteHostImpl::TearDownAfterLastChild API to notify the Zygote
to exit after its last child died.

The notification is to simply close the IPC channel to the Zygote.
Before this patch, this would happen implicitly when the browser process
died.

To implement this, we add a lightweight child tracking mechanism to ZygoteHostImpl.

BUG=334345
R=piman@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247572 0039d316-1c4b-4281-b951-d872f2087c98
Roll DEPS for html-office-public

TBR=ganetsky@chromium.org

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

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247574 0039d316-1c4b-4281-b951-d872f2087c98
Add the viewer toolbar to the PDF extension.

BUG=303491
R=arv@chromium.org, ganetsky@chromium.org

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

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