OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/importer/firefox_importer_utils.h" | 5 #include "chrome/browser/importer/firefox_importer_utils.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 return false; | 248 return false; |
249 } | 249 } |
250 | 250 |
251 return true; | 251 return true; |
252 } | 252 } |
253 | 253 |
254 std::string ReadBrowserConfigProp(const base::FilePath& app_path, | 254 std::string ReadBrowserConfigProp(const base::FilePath& app_path, |
255 const std::string& pref_key) { | 255 const std::string& pref_key) { |
256 std::string content; | 256 std::string content; |
257 if (!ReadPrefFile(app_path.AppendASCII("browserconfig.properties"), &content)) | 257 if (!ReadPrefFile(app_path.AppendASCII("browserconfig.properties"), &content)) |
258 return ""; | 258 return std::string(); |
259 | 259 |
260 // This file has the syntax: key=value. | 260 // This file has the syntax: key=value. |
261 size_t prop_index = content.find(pref_key + "="); | 261 size_t prop_index = content.find(pref_key + "="); |
262 if (prop_index == std::string::npos) | 262 if (prop_index == std::string::npos) |
263 return ""; | 263 return std::string(); |
264 | 264 |
265 size_t start = prop_index + pref_key.length(); | 265 size_t start = prop_index + pref_key.length(); |
266 size_t stop = std::string::npos; | 266 size_t stop = std::string::npos; |
267 if (start != std::string::npos) | 267 if (start != std::string::npos) |
268 stop = content.find("\n", start + 1); | 268 stop = content.find("\n", start + 1); |
269 | 269 |
270 if (start == std::string::npos || | 270 if (start == std::string::npos || |
271 stop == std::string::npos || (start == stop)) { | 271 stop == std::string::npos || (start == stop)) { |
272 LOG(WARNING) << "Firefox property " << pref_key << " could not be parsed."; | 272 LOG(WARNING) << "Firefox property " << pref_key << " could not be parsed."; |
273 return ""; | 273 return std::string(); |
274 } | 274 } |
275 | 275 |
276 return content.substr(start + 1, stop - start - 1); | 276 return content.substr(start + 1, stop - start - 1); |
277 } | 277 } |
278 | 278 |
279 std::string ReadPrefsJsValue(const base::FilePath& profile_path, | 279 std::string ReadPrefsJsValue(const base::FilePath& profile_path, |
280 const std::string& pref_key) { | 280 const std::string& pref_key) { |
281 std::string content; | 281 std::string content; |
282 if (!ReadPrefFile(profile_path.AppendASCII("prefs.js"), &content)) | 282 if (!ReadPrefFile(profile_path.AppendASCII("prefs.js"), &content)) |
283 return ""; | 283 return std::string(); |
284 | 284 |
285 return GetPrefsJsValue(content, pref_key); | 285 return GetPrefsJsValue(content, pref_key); |
286 } | 286 } |
287 | 287 |
288 GURL GetHomepage(const base::FilePath& profile_path) { | 288 GURL GetHomepage(const base::FilePath& profile_path) { |
289 std::string home_page_list = | 289 std::string home_page_list = |
290 ReadPrefsJsValue(profile_path, "browser.startup.homepage"); | 290 ReadPrefsJsValue(profile_path, "browser.startup.homepage"); |
291 | 291 |
292 size_t seperator = home_page_list.find_first_of('|'); | 292 size_t seperator = home_page_list.find_first_of('|'); |
293 if (seperator == std::string::npos) | 293 if (seperator == std::string::npos) |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
404 size_t stop = std::string::npos; | 404 size_t stop = std::string::npos; |
405 if (start != std::string::npos) { | 405 if (start != std::string::npos) { |
406 // Stop at the last ')' on this line. | 406 // Stop at the last ')' on this line. |
407 stop = content.find("\n", start + 1); | 407 stop = content.find("\n", start + 1); |
408 stop = content.rfind(")", stop); | 408 stop = content.rfind(")", stop); |
409 } | 409 } |
410 | 410 |
411 if (start == std::string::npos || stop == std::string::npos || | 411 if (start == std::string::npos || stop == std::string::npos || |
412 stop < start) { | 412 stop < start) { |
413 LOG(WARNING) << "Firefox property " << pref_key << " could not be parsed."; | 413 LOG(WARNING) << "Firefox property " << pref_key << " could not be parsed."; |
414 return ""; | 414 return std::string(); |
415 } | 415 } |
416 | 416 |
417 // String values have double quotes we don't need to return to the caller. | 417 // String values have double quotes we don't need to return to the caller. |
418 if (content[start] == '\"' && content[stop - 1] == '\"') { | 418 if (content[start] == '\"' && content[stop - 1] == '\"') { |
419 ++start; | 419 ++start; |
420 --stop; | 420 --stop; |
421 } | 421 } |
422 | 422 |
423 return content.substr(start, stop - start); | 423 return content.substr(start, stop - start); |
424 } | 424 } |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
459 } | 459 } |
460 } | 460 } |
461 } | 461 } |
462 } | 462 } |
463 | 463 |
464 StringToLowerASCII(&branding_name); | 464 StringToLowerASCII(&branding_name); |
465 if (branding_name.find("iceweasel") != std::string::npos) | 465 if (branding_name.find("iceweasel") != std::string::npos) |
466 return l10n_util::GetStringUTF16(IDS_IMPORT_FROM_ICEWEASEL); | 466 return l10n_util::GetStringUTF16(IDS_IMPORT_FROM_ICEWEASEL); |
467 return l10n_util::GetStringUTF16(IDS_IMPORT_FROM_FIREFOX); | 467 return l10n_util::GetStringUTF16(IDS_IMPORT_FROM_FIREFOX); |
468 } | 468 } |
OLD | NEW |