Hold URLRequestContextGetter by scoped_refptr in Drive related code.

There's little point to hold the refcounted object in a raw pointer.

BUG=none

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228091 0039d316-1c4b-4281-b951-d872f2087c98
[sync] Apply bookmark updates in batches before refreshing UI layout

During bookmark model association after a browser restart, if a bunch of
bookmarks were deleted and replaced by new bookmarks, newly added
items and existing items may overlap on the bookmarks bar because UI
observers apply changes one by one, resulting in potential races between
applying updates and refreshing the layout of the bookmarks bar.

In this patch, BookmarkChangeProcessor::ApplyChangesFromSyncModel
applies updates in batches before notifying UI observers that the updates
may be consumed.

BUG=281562
TEST=1) Add a bunch of bookmarks, sync between clients A and B.
     2) Quit client A.
     3) On client B, delete some bookmarks and add new ones in their place.
     4) Restart client A. After sync, bookmarks mustn't overlap.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228092 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 228091
Use GUID, instead of sequential ID, if notification ID is not provided

BUG=306294
TEST=existing tests

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228093 0039d316-1c4b-4281-b951-d872f2087c98
drive: Rewrite SyncClientTest to deal with local IDs properly

BUG=275270
TEST=unit_tests --gtest_filter="SyncClientTest.*"
R=kinaba@chromium.org

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

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