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

Side by Side Diff: chrome/utility/importer/ie_importer_win.cc

Issue 2894483002: Migrate from ScopedComPtr::CreateInstance() to CoCreateInstance in chrome/... (Closed)
Patch Set: Fix Header Include Location Created 3 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
« no previous file with comments | « chrome/installer/util/wmi.cc ('k') | chrome/utility/shell_handler_impl_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/utility/importer/ie_importer_win.h" 5 #include "chrome/utility/importer/ie_importer_win.h"
6 6
7 #include <objbase.h> 7 #include <objbase.h>
8 #include <ole2.h> 8 #include <ole2.h>
9 #include <intshcut.h> 9 #include <intshcut.h>
10 #include <shlobj.h> 10 #include <shlobj.h>
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 IEOrderBookmarkComparator compare = {&sort_index}; 285 IEOrderBookmarkComparator compare = {&sort_index};
286 std::sort(bookmarks->begin(), bookmarks->end(), compare); 286 std::sort(bookmarks->begin(), bookmarks->end(), compare);
287 } 287 }
288 288
289 // Reads an internet shortcut (*.url) |file| and returns a COM object 289 // Reads an internet shortcut (*.url) |file| and returns a COM object
290 // representing it. 290 // representing it.
291 bool LoadInternetShortcut( 291 bool LoadInternetShortcut(
292 const base::string16& file, 292 const base::string16& file,
293 base::win::ScopedComPtr<IUniformResourceLocator>* shortcut) { 293 base::win::ScopedComPtr<IUniformResourceLocator>* shortcut) {
294 base::win::ScopedComPtr<IUniformResourceLocator> url_locator; 294 base::win::ScopedComPtr<IUniformResourceLocator> url_locator;
295 if (FAILED(url_locator.CreateInstance(CLSID_InternetShortcut, NULL, 295 if (FAILED(::CoCreateInstance(CLSID_InternetShortcut, NULL,
296 CLSCTX_INPROC_SERVER))) 296 CLSCTX_INPROC_SERVER,
297 IID_PPV_ARGS(&url_locator))))
297 return false; 298 return false;
298 299
299 base::win::ScopedComPtr<IPersistFile> persist_file; 300 base::win::ScopedComPtr<IPersistFile> persist_file;
300 if (FAILED(url_locator.CopyTo(persist_file.GetAddressOf()))) 301 if (FAILED(url_locator.CopyTo(persist_file.GetAddressOf())))
301 return false; 302 return false;
302 303
303 // Loads the Internet Shortcut from persistent storage. 304 // Loads the Internet Shortcut from persistent storage.
304 if (FAILED(persist_file->Load(file.c_str(), STGM_READ))) 305 if (FAILED(persist_file->Load(file.c_str(), STGM_READ)))
305 return false; 306 return false;
306 307
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
502 } 503 }
503 504
504 void IEImporter::ImportHistory() { 505 void IEImporter::ImportHistory() {
505 const std::string kSchemes[] = {url::kHttpScheme, 506 const std::string kSchemes[] = {url::kHttpScheme,
506 url::kHttpsScheme, 507 url::kHttpsScheme,
507 url::kFtpScheme, 508 url::kFtpScheme,
508 url::kFileScheme}; 509 url::kFileScheme};
509 int total_schemes = arraysize(kSchemes); 510 int total_schemes = arraysize(kSchemes);
510 511
511 base::win::ScopedComPtr<IUrlHistoryStg2> url_history_stg2; 512 base::win::ScopedComPtr<IUrlHistoryStg2> url_history_stg2;
512 if (FAILED(url_history_stg2.CreateInstance(CLSID_CUrlHistory, NULL, 513 if (FAILED(::CoCreateInstance(CLSID_CUrlHistory, NULL, CLSCTX_INPROC_SERVER,
513 CLSCTX_INPROC_SERVER))) { 514 IID_PPV_ARGS(&url_history_stg2)))) {
514 return; 515 return;
515 } 516 }
516 base::win::ScopedComPtr<IEnumSTATURL> enum_url; 517 base::win::ScopedComPtr<IEnumSTATURL> enum_url;
517 if (SUCCEEDED(url_history_stg2->EnumUrls(enum_url.GetAddressOf()))) { 518 if (SUCCEEDED(url_history_stg2->EnumUrls(enum_url.GetAddressOf()))) {
518 std::vector<ImporterURLRow> rows; 519 std::vector<ImporterURLRow> rows;
519 STATURL stat_url; 520 STATURL stat_url;
520 521
521 // IEnumSTATURL::Next() doesn't fill STATURL::dwFlags by default. Need to 522 // IEnumSTATURL::Next() doesn't fill STATURL::dwFlags by default. Need to
522 // call IEnumSTATURL::SetFilter() with STATURL_QUERYFLAG_TOPLEVEL flag to 523 // call IEnumSTATURL::SetFilter() with STATURL_QUERYFLAG_TOPLEVEL flag to
523 // specify how STATURL structure will be filled. 524 // specify how STATURL structure will be filled.
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after
912 static int version = -1; 913 static int version = -1;
913 if (version < 0) { 914 if (version < 0) {
914 wchar_t buffer[128]; 915 wchar_t buffer[128];
915 DWORD buffer_length = sizeof(buffer); 916 DWORD buffer_length = sizeof(buffer);
916 base::win::RegKey reg_key(HKEY_LOCAL_MACHINE, kIEVersionKey, KEY_READ); 917 base::win::RegKey reg_key(HKEY_LOCAL_MACHINE, kIEVersionKey, KEY_READ);
917 LONG result = reg_key.ReadValue(L"Version", buffer, &buffer_length, NULL); 918 LONG result = reg_key.ReadValue(L"Version", buffer, &buffer_length, NULL);
918 version = ((result == ERROR_SUCCESS)? _wtoi(buffer) : 0); 919 version = ((result == ERROR_SUCCESS)? _wtoi(buffer) : 0);
919 } 920 }
920 return version; 921 return version;
921 } 922 }
OLDNEW
« no previous file with comments | « chrome/installer/util/wmi.cc ('k') | chrome/utility/shell_handler_impl_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698