Remove parent* arg from GDataEntry ctor.

* Remove static FromDocumentEntry from GDataEntry, GDataFile, GDataDirectory. Replace with InitFromDocumentEntry.
* Move common code from GDataFile::InitFromDocumentEntry and GDataDirectory::InitFromDocumentEntry to GDataEntry::InitFromDocumentEntry.
* Add GDataDirectoryService::FromDocumentEntry and use this everywhere.
* Make ctors of GDataFile, GDataDirectory private, so these must be created by GDataDirectoryService's CreateGDataFile and
CreateGDataDirectory. Make GDataEntry ctor protected.

BUG=141494
TEST=unit tests.
Review URL: https://chromiumcodereview.appspot.com/10854083

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151008 0039d316-1c4b-4281-b951-d872f2087c98
void GDataFileSystem::OnGetFileSizeCompleteForUpdateFile(
    const FileOperationCallback& callback,
    const std::string& resource_id,
    const std::string& md5,
    const FilePath& cache_file_path,
    GDataFileError* error,
    int64* file_size) {
  DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));

  if (*error != GDATA_FILE_OK) {
    if (!callback.is_null())
      callback.Run(*error);
    return;
  }

  directory_service_->GetEntryByResourceIdAsync(resource_id,
      base::Bind(&GDataFileSystem::OnGetFileCompleteForUpdateFileByEntry,
          ui_weak_ptr_,
          callback,
          md5,
          *file_size,
          cache_file_path));
}

void GDataFileSystem::OnGetFileSizeCompleteForUpdateFile(
    const FileOperationCallback& callback,
    const std::string& resource_id,
    const std::string& md5,
    const FilePath& cache_file_path,
    GDataFileError* error,
    int64* file_size) {
  DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));

  if (*error != GDATA_FILE_OK) {
    if (!callback.is_null())
      callback.Run(*error);
    return;
  }

  directory_service_->GetEntryByResourceIdAsync(resource_id,
      base::Bind(&GDataFileSystem::OnGetFileCompleteForUpdateFileByEntry,
          ui_weak_ptr_,
          callback,
          md5,
          *file_size,
          cache_file_path));
}
