Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(412)

Side by Side Diff: chrome/common/service_process_util.cc

Issue 5815001: Fixed file_version_info so that it finds Mac values correctly. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Changed logging to vlog Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/file_util.h" 5 #include "base/file_util.h"
6 #include "base/logging.h" 6 #include "base/logging.h"
7 #include "base/path_service.h" 7 #include "base/path_service.h"
8 #include "base/process_util.h" 8 #include "base/process_util.h"
9 #include "base/singleton.h" 9 #include "base/singleton.h"
10 #include "base/string16.h" 10 #include "base/string16.h"
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 77
78 scoped_ptr<installer::Version> service_version; 78 scoped_ptr<installer::Version> service_version;
79 service_version.reset( 79 service_version.reset(
80 installer::Version::GetVersionFromString(ASCIIToUTF16(version))); 80 installer::Version::GetVersionFromString(ASCIIToUTF16(version)));
81 // If the version string is invalid, treat it like an older version. 81 // If the version string is invalid, treat it like an older version.
82 if (!service_version.get()) 82 if (!service_version.get())
83 return SERVICE_OLDER_VERSION_RUNNING; 83 return SERVICE_OLDER_VERSION_RUNNING;
84 84
85 // Get the version of the currently *running* instance of Chrome. 85 // Get the version of the currently *running* instance of Chrome.
86 chrome::VersionInfo version_info; 86 chrome::VersionInfo version_info;
87 if (!version_info.is_valid()) {
88 NOTREACHED() << "Failed to get current file version";
89 // Our own version is invalid. This is an error case. Pretend that we
90 // are out of date.
91 return SERVICE_NEWER_VERSION_RUNNING;
92 }
93 scoped_ptr<installer::Version> running_version( 87 scoped_ptr<installer::Version> running_version(
94 installer::Version::GetVersionFromString( 88 installer::Version::GetVersionFromString(
95 ASCIIToUTF16(version_info.Version()))); 89 ASCIIToUTF16(version_info.Version())));
96 if (!running_version.get()) { 90 if (!running_version.get()) {
97 NOTREACHED() << "Failed to parse version info"; 91 NOTREACHED() << "Failed to parse version info";
98 // Our own version is invalid. This is an error case. Pretend that we 92 // Our own version is invalid. This is an error case. Pretend that we
99 // are out of date. 93 // are out of date.
100 return SERVICE_NEWER_VERSION_RUNNING; 94 return SERVICE_NEWER_VERSION_RUNNING;
101 } 95 }
102 96
(...skipping 23 matching lines...) Expand all
126 scoped_name.append(append_str); 120 scoped_name.append(append_str);
127 return scoped_name; 121 return scoped_name;
128 } 122 }
129 123
130 // Return a name that is scoped to this instance of the service process. We 124 // Return a name that is scoped to this instance of the service process. We
131 // use the user-data-dir and the version as a scoping prefix. 125 // use the user-data-dir and the version as a scoping prefix.
132 std::string GetServiceProcessScopedVersionedName( 126 std::string GetServiceProcessScopedVersionedName(
133 const std::string& append_str) { 127 const std::string& append_str) {
134 std::string versioned_str; 128 std::string versioned_str;
135 chrome::VersionInfo version_info; 129 chrome::VersionInfo version_info;
136 DCHECK(version_info.is_valid());
137 versioned_str.append(version_info.Version()); 130 versioned_str.append(version_info.Version());
138 versioned_str.append(append_str); 131 versioned_str.append(append_str);
139 return GetServiceProcessScopedName(versioned_str); 132 return GetServiceProcessScopedName(versioned_str);
140 } 133 }
141 134
142 // Gets the name of the service process IPC channel. 135 // Gets the name of the service process IPC channel.
143 std::string GetServiceProcessChannelName() { 136 std::string GetServiceProcessChannelName() {
144 return GetServiceProcessScopedVersionedName("_service_ipc"); 137 return GetServiceProcessScopedVersionedName("_service_ipc");
145 } 138 }
146 139
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 ForceServiceProcessShutdown(running_version); 187 ForceServiceProcessShutdown(running_version);
195 break; 188 break;
196 case SERVICE_NOT_RUNNING: 189 case SERVICE_NOT_RUNNING:
197 break; 190 break;
198 } 191 }
199 return true; 192 return true;
200 } 193 }
201 194
202 bool ServiceProcessState::CreateSharedData() { 195 bool ServiceProcessState::CreateSharedData() {
203 chrome::VersionInfo version_info; 196 chrome::VersionInfo version_info;
204 if (!version_info.is_valid()) {
205 NOTREACHED() << "Failed to get current file version";
206 return false;
207 }
208 if (version_info.Version().length() >= kMaxVersionStringLength) { 197 if (version_info.Version().length() >= kMaxVersionStringLength) {
209 NOTREACHED() << "Version string length is << " << 198 NOTREACHED() << "Version string length is << " <<
210 version_info.Version().length() << "which is longer than" << 199 version_info.Version().length() << "which is longer than" <<
211 kMaxVersionStringLength; 200 kMaxVersionStringLength;
212 return false; 201 return false;
213 } 202 }
214 203
215 scoped_ptr<base::SharedMemory> shared_mem_service_data; 204 scoped_ptr<base::SharedMemory> shared_mem_service_data;
216 shared_mem_service_data.reset(new base::SharedMemory()); 205 shared_mem_service_data.reset(new base::SharedMemory());
217 if (!shared_mem_service_data.get()) 206 if (!shared_mem_service_data.get())
(...skipping 16 matching lines...) Expand all
234 shared_data->service_process_pid = base::GetCurrentProcId(); 223 shared_data->service_process_pid = base::GetCurrentProcId();
235 shared_mem_service_data_.reset(shared_mem_service_data.release()); 224 shared_mem_service_data_.reset(shared_mem_service_data.release());
236 return true; 225 return true;
237 } 226 }
238 227
239 228
240 std::string ServiceProcessState::GetAutoRunKey() { 229 std::string ServiceProcessState::GetAutoRunKey() {
241 return GetServiceProcessScopedName("_service_run"); 230 return GetServiceProcessScopedName("_service_run");
242 } 231 }
243 232
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698