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

Side by Side Diff: chrome/browser/importer/firefox_importer_utils.cc

Issue 647016: importer: use FilePath instead of wstring in some places (Closed)
Patch Set: with fixes Created 10 years, 10 months 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
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 8
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 22 matching lines...) Expand all
33 low_value.find("moz:") != std::string::npos ) 33 low_value.find("moz:") != std::string::npos )
34 return false; 34 return false;
35 return true; 35 return true;
36 } 36 }
37 37
38 private: 38 private:
39 DISALLOW_EVIL_CONSTRUCTORS(FirefoxURLParameterFilter); 39 DISALLOW_EVIL_CONSTRUCTORS(FirefoxURLParameterFilter);
40 }; 40 };
41 } // namespace 41 } // namespace
42 42
43 bool GetFirefoxVersionAndPathFromProfile(const std::wstring& profile_path, 43 bool GetFirefoxVersionAndPathFromProfile(const FilePath& profile_path,
44 int* version, 44 int* version,
45 std::wstring* app_path) { 45 FilePath* app_path) {
46 bool ret = false; 46 bool ret = false;
47 std::wstring compatibility_file(profile_path); 47 FilePath compatibility_file = profile_path.AppendASCII("compatibility.ini");
48 file_util::AppendToPath(&compatibility_file, L"compatibility.ini");
49 std::string content; 48 std::string content;
50 file_util::ReadFileToString(compatibility_file, &content); 49 file_util::ReadFileToString(compatibility_file, &content);
51 ReplaceSubstringsAfterOffset(&content, 0, "\r\n", "\n"); 50 ReplaceSubstringsAfterOffset(&content, 0, "\r\n", "\n");
52 std::vector<std::string> lines; 51 std::vector<std::string> lines;
53 SplitString(content, '\n', &lines); 52 SplitString(content, '\n', &lines);
54 53
55 for (size_t i = 0; i < lines.size(); ++i) { 54 for (size_t i = 0; i < lines.size(); ++i) {
56 const std::string& line = lines[i]; 55 const std::string& line = lines[i];
57 if (line.empty() || line[0] == '#' || line[0] == ';') 56 if (line.empty() || line[0] == '#' || line[0] == ';')
58 continue; 57 continue;
59 size_t equal = line.find('='); 58 size_t equal = line.find('=');
60 if (equal != std::string::npos) { 59 if (equal != std::string::npos) {
61 std::string key = line.substr(0, equal); 60 std::string key = line.substr(0, equal);
62 if (key == "LastVersion") { 61 if (key == "LastVersion") {
63 *version = line.substr(equal + 1)[0] - '0'; 62 *version = line.substr(equal + 1)[0] - '0';
64 ret = true; 63 ret = true;
65 } else if (key == "LastAppDir") { 64 } else if (key == "LastAppDir") {
66 *app_path = UTF8ToWide(line.substr(equal + 1)); 65 // TODO(evanm): If the path in question isn't convertible to
66 // UTF-8, what does Firefox do? If it puts raw bytes in the
67 // file, we could go straight from bytes -> filepath;
68 // otherwise, we're out of luck here.
69 *app_path = FilePath::FromWStringHack(
70 UTF8ToWide(line.substr(equal + 1)));
67 } 71 }
68 } 72 }
69 } 73 }
70 return ret; 74 return ret;
71 } 75 }
72 76
73 void ParseProfileINI(std::wstring file, DictionaryValue* root) { 77 void ParseProfileINI(const FilePath& file, DictionaryValue* root) {
74 // Reads the whole INI file. 78 // Reads the whole INI file.
75 std::string content; 79 std::string content;
76 file_util::ReadFileToString(file, &content); 80 file_util::ReadFileToString(file, &content);
77 ReplaceSubstringsAfterOffset(&content, 0, "\r\n", "\n"); 81 ReplaceSubstringsAfterOffset(&content, 0, "\r\n", "\n");
78 std::vector<std::string> lines; 82 std::vector<std::string> lines;
79 SplitString(content, '\n', &lines); 83 SplitString(content, '\n', &lines);
80 84
81 // Parses the file. 85 // Parses the file.
82 root->Clear(); 86 root->Clear();
83 std::wstring current_section; 87 std::wstring current_section;
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 std::vector<std::string> urls; 327 std::vector<std::string> urls;
324 SplitString(default_homepages, '|', &urls); 328 SplitString(default_homepages, '|', &urls);
325 329
326 for (size_t i = 0; i < urls.size(); ++i) { 330 for (size_t i = 0; i < urls.size(); ++i) {
327 if (homepage.spec() == GURL(urls[i]).spec()) 331 if (homepage.spec() == GURL(urls[i]).spec())
328 return true; 332 return true;
329 } 333 }
330 334
331 return false; 335 return false;
332 } 336 }
OLDNEW
« no previous file with comments | « chrome/browser/importer/firefox_importer_utils.h ('k') | chrome/browser/importer/importer_list.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698