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

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

Issue 114047: Add import progress indicator dialog. (Closed)
Patch Set: code review fixes Created 11 years, 7 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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 #if defined(OS_WIN) 9 #if defined(OS_WIN)
10 #include <shlobj.h> 10 #include <shlobj.h>
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 // Sets the SetDllDirectory function pointer to activates this object. 76 // Sets the SetDllDirectory function pointer to activates this object.
77 void set_func(SetDllDirectoryFunc func) { func_ = func; } 77 void set_func(SetDllDirectoryFunc func) { func_ = func; }
78 78
79 private: 79 private:
80 SetDllDirectoryFunc func_; 80 SetDllDirectoryFunc func_;
81 }; 81 };
82 #endif 82 #endif
83 83
84 } // namespace 84 } // namespace
85 85
86 int GetCurrentFirefoxMajorVersion() {
87 #if defined(OS_WIN) 86 #if defined(OS_WIN)
87 int GetCurrentFirefoxMajorVersionFromRegistry() {
88 TCHAR ver_buffer[128]; 88 TCHAR ver_buffer[128];
89 DWORD ver_buffer_length = sizeof(ver_buffer); 89 DWORD ver_buffer_length = sizeof(ver_buffer);
90 int highest_version = 0; 90 int highest_version = 0;
91 // When installing Firefox with admin account, the product keys will be 91 // When installing Firefox with admin account, the product keys will be
92 // written under HKLM\Mozilla. Otherwise it the keys will be written under 92 // written under HKLM\Mozilla. Otherwise it the keys will be written under
93 // HKCU\Mozilla. 93 // HKCU\Mozilla.
94 for (int i = 0; i < arraysize(kFireFoxRegistryPaths); ++i) { 94 for (int i = 0; i < arraysize(kFireFoxRegistryPaths); ++i) {
95 bool result = ReadFromRegistry(kFireFoxRegistryPaths[i], 95 bool result = ReadFromRegistry(kFireFoxRegistryPaths[i],
96 L"Software\\Mozilla\\Mozilla Firefox", 96 L"Software\\Mozilla\\Mozilla Firefox",
97 L"CurrentVersion", ver_buffer, &ver_buffer_length); 97 L"CurrentVersion", ver_buffer, &ver_buffer_length);
98 if (!result) 98 if (!result)
99 continue; 99 continue;
100 highest_version = std::max(highest_version, _wtoi(ver_buffer)); 100 highest_version = std::max(highest_version, _wtoi(ver_buffer));
101 } 101 }
102 return highest_version; 102 return highest_version;
103 #else 103 }
104 // TODO(port): Read in firefox configuration. 104
105 NOTIMPLEMENTED(); 105 std::wstring GetFirefoxInstallPathFromRegistry() {
106 return 0; 106 // Detects the path that Firefox is installed in.
107 std::wstring registry_path = L"Software\\Mozilla\\Mozilla Firefox";
108 TCHAR buffer[MAX_PATH];
109 DWORD buffer_length = sizeof(buffer);
110 bool result;
111 result = ReadFromRegistry(HKEY_LOCAL_MACHINE, registry_path.c_str(),
112 L"CurrentVersion", buffer, &buffer_length);
113 if (!result)
114 return std::wstring();
115 registry_path += L"\\" + std::wstring(buffer) + L"\\Main";
116 buffer_length = sizeof(buffer);
117 result = ReadFromRegistry(HKEY_LOCAL_MACHINE, registry_path.c_str(),
118 L"Install Directory", buffer, &buffer_length);
119 if (!result)
120 return std::wstring();
121 return buffer;
122 }
107 #endif 123 #endif
108 }
109 124
110 #if defined(OS_WIN) || defined(OS_LINUX) 125 #if defined(OS_WIN) || defined(OS_LINUX)
111 bool GetFirefoxVersionAndPathFromProfile(const std::wstring& profile_path, 126 bool GetFirefoxVersionAndPathFromProfile(const std::wstring& profile_path,
112 int* version, 127 int* version,
113 std::wstring* app_path) { 128 std::wstring* app_path) {
114 bool ret = false; 129 bool ret = false;
115 std::wstring compatibility_file(profile_path); 130 std::wstring compatibility_file(profile_path);
116 file_util::AppendToPath(&compatibility_file, L"compatibility.ini"); 131 file_util::AppendToPath(&compatibility_file, L"compatibility.ini");
117 std::string content; 132 std::string content;
118 file_util::ReadFileToString(compatibility_file, &content); 133 file_util::ReadFileToString(compatibility_file, &content);
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 // so we discard them. 217 // so we discard them.
203 if (current_section.find(L'.') == std::wstring::npos && 218 if (current_section.find(L'.') == std::wstring::npos &&
204 key.find(L'.') == std::wstring::npos) 219 key.find(L'.') == std::wstring::npos)
205 root->SetString(current_section + L"." + key, value); 220 root->SetString(current_section + L"." + key, value);
206 } 221 }
207 } 222 }
208 } 223 }
209 } 224 }
210 #endif 225 #endif
211 226
212 std::wstring GetFirefoxInstallPath() {
213 #if defined(OS_WIN)
214 // Detects the path that Firefox is installed in.
215 std::wstring registry_path = L"Software\\Mozilla\\Mozilla Firefox";
216 TCHAR buffer[MAX_PATH];
217 DWORD buffer_length = sizeof(buffer);
218 bool result;
219 result = ReadFromRegistry(HKEY_LOCAL_MACHINE, registry_path.c_str(),
220 L"CurrentVersion", buffer, &buffer_length);
221 if (!result)
222 return std::wstring();
223 registry_path += L"\\" + std::wstring(buffer) + L"\\Main";
224 buffer_length = sizeof(buffer);
225 result = ReadFromRegistry(HKEY_LOCAL_MACHINE, registry_path.c_str(),
226 L"Install Directory", buffer, &buffer_length);
227 if (!result)
228 return std::wstring();
229 return buffer;
230 #else
231 // TODO(port): Load firefox configuration.
232 NOTIMPLEMENTED();
233 return std::wstring();
234 #endif
235 }
236
237 bool CanImportURL(const GURL& url) { 227 bool CanImportURL(const GURL& url) {
238 const char* kInvalidSchemes[] = {"wyciwyg", "place", "about", "chrome"}; 228 const char* kInvalidSchemes[] = {"wyciwyg", "place", "about", "chrome"};
239 229
240 // The URL is not valid. 230 // The URL is not valid.
241 if (!url.is_valid()) 231 if (!url.is_valid())
242 return false; 232 return false;
243 233
244 // Filter out the URLs with unsupported schemes. 234 // Filter out the URLs with unsupported schemes.
245 for (size_t i = 0; i < arraysize(kInvalidSchemes); ++i) { 235 for (size_t i = 0; i < arraysize(kInvalidSchemes); ++i) {
246 if (url.SchemeIs(kInvalidSchemes[i])) 236 if (url.SchemeIs(kInvalidSchemes[i]))
(...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after
805 } 795 }
806 // Version 3 has an extra line for further use. 796 // Version 3 has an extra line for further use.
807 if (version == 3) { 797 if (version == 3) {
808 ++begin; 798 ++begin;
809 } 799 }
810 800
811 forms->push_back(form); 801 forms->push_back(form);
812 } 802 }
813 } 803 }
814 } 804 }
OLDNEW
« no previous file with comments | « chrome/browser/importer/firefox_importer_utils.h ('k') | chrome/browser/importer/firefox_profile_lock_posix.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698