diff options
39 files changed, 121 insertions, 115 deletions
diff --git a/chrome/browser/bookmarks/bookmark_html_writer_unittest.cc b/chrome/browser/bookmarks/bookmark_html_writer_unittest.cc index ebd6cf0..11eb1ed 100644 --- a/chrome/browser/bookmarks/bookmark_html_writer_unittest.cc +++ b/chrome/browser/bookmarks/bookmark_html_writer_unittest.cc @@ -17,12 +17,12 @@ #include "chrome/browser/history/history_service.h" #include "chrome/browser/history/history_service_factory.h" #include "chrome/common/importer/imported_bookmark_entry.h" -#include "chrome/common/importer/imported_favicon_usage.h" #include "chrome/common/importer/importer_data_types.h" #include "chrome/test/base/testing_profile.h" #include "chrome/utility/importer/bookmark_html_reader.h" #include "components/bookmarks/browser/bookmark_model.h" #include "components/bookmarks/test/bookmark_test_helpers.h" +#include "components/favicon_base/favicon_usage_data.h" #include "content/public/test/test_browser_thread_bundle.h" #include "grit/components_strings.h" #include "testing/gtest/include/gtest/gtest.h" @@ -245,7 +245,7 @@ TEST_F(BookmarkHTMLWriterTest, Test) { // Read the bookmarks back in. std::vector<ImportedBookmarkEntry> parsed_bookmarks; std::vector<importer::SearchEngineInfo> parsed_search_engines; - std::vector<ImportedFaviconUsage> favicons; + favicon_base::FaviconUsageDataList favicons; bookmark_html_reader::ImportBookmarksFile(base::Callback<bool(void)>(), base::Callback<bool(const GURL&)>(), path_, diff --git a/chrome/browser/favicon/favicon_service.cc b/chrome/browser/favicon/favicon_service.cc index 207703c..2bbdadb 100644 --- a/chrome/browser/favicon/favicon_service.cc +++ b/chrome/browser/favicon/favicon_service.cc @@ -12,7 +12,6 @@ #include "chrome/browser/history/history_service.h" #include "chrome/browser/history/history_service_factory.h" #include "chrome/browser/ui/webui/chrome_web_ui_controller_factory.h" -#include "chrome/common/importer/imported_favicon_usage.h" #include "chrome/common/url_constants.h" #include "components/favicon_base/favicon_util.h" #include "components/favicon_base/select_favicon_frames.h" @@ -284,7 +283,7 @@ void FaviconService::CloneFavicon(const GURL& old_page_url, } void FaviconService::SetImportedFavicons( - const std::vector<ImportedFaviconUsage>& favicon_usage) { + const favicon_base::FaviconUsageDataList& favicon_usage) { if (history_service_) history_service_->SetImportedFavicons(favicon_usage); } diff --git a/chrome/browser/favicon/favicon_service.h b/chrome/browser/favicon/favicon_service.h index 06c1a66..b1c32a3 100644 --- a/chrome/browser/favicon/favicon_service.h +++ b/chrome/browser/favicon/favicon_service.h @@ -13,12 +13,12 @@ #include "base/task/cancelable_task_tracker.h" #include "components/favicon_base/favicon_callback.h" #include "components/favicon_base/favicon_types.h" +#include "components/favicon_base/favicon_usage_data.h" #include "components/keyed_service/core/keyed_service.h" class FaviconClient; class GURL; class HistoryService; -struct ImportedFaviconUsage; class Profile; // The favicon service provides methods to access favicons. It calls the history @@ -177,7 +177,7 @@ class FaviconService : public KeyedService { // must exist, any favicon sets for unknown pages will be discarded. Existing // favicons will not be overwritten. void SetImportedFavicons( - const std::vector<ImportedFaviconUsage>& favicon_usage); + const favicon_base::FaviconUsageDataList& favicon_usage); // Set the favicon for |page_url| for |icon_type| in the thumbnail database. // Unlike SetFavicons(), this method will not delete preexisting bitmap data diff --git a/chrome/browser/history/history_backend.cc b/chrome/browser/history/history_backend.cc index 778db4f..26c7133 100644 --- a/chrome/browser/history/history_backend.cc +++ b/chrome/browser/history/history_backend.cc @@ -25,7 +25,6 @@ #include "base/time/time.h" #include "chrome/browser/history/in_memory_history_backend.h" #include "chrome/browser/history/typed_url_syncable_service.h" -#include "chrome/common/importer/imported_favicon_usage.h" #include "components/favicon_base/select_favicon_frames.h" #include "components/history/core/browser/download_constants.h" #include "components/history/core/browser/download_row.h" @@ -1812,7 +1811,7 @@ void HistoryBackend::CloneFavicons(const GURL& old_page_url, } void HistoryBackend::SetImportedFavicons( - const std::vector<ImportedFaviconUsage>& favicon_usage) { + const favicon_base::FaviconUsageDataList& favicon_usage) { if (!db_ || !thumbnail_db_) return; diff --git a/chrome/browser/history/history_backend.h b/chrome/browser/history/history_backend.h index 3af0a5a..0dc68f8 100644 --- a/chrome/browser/history/history_backend.h +++ b/chrome/browser/history/history_backend.h @@ -18,6 +18,7 @@ #include "base/observer_list.h" #include "base/single_thread_task_runner.h" #include "base/task/cancelable_task_tracker.h" +#include "components/favicon_base/favicon_usage_data.h" #include "components/history/core/browser/expire_history_backend.h" #include "components/history/core/browser/history_backend_notifier.h" #include "components/history/core/browser/history_types.h" @@ -33,7 +34,6 @@ class HistoryURLProvider; struct HistoryURLProviderParams; -struct ImportedFaviconUsage; class SkBitmap; class TestingProfile; struct ThumbnailScore; @@ -311,7 +311,7 @@ class HistoryBackend : public base::RefCountedThreadSafe<HistoryBackend>, void CloneFavicons(const GURL& old_page_url, const GURL& new_page_url); void SetImportedFavicons( - const std::vector<ImportedFaviconUsage>& favicon_usage); + const favicon_base::FaviconUsageDataList& favicon_usage); // Downloads ----------------------------------------------------------------- diff --git a/chrome/browser/history/history_backend_unittest.cc b/chrome/browser/history/history_backend_unittest.cc index e78998d..6f3a46d 100644 --- a/chrome/browser/history/history_backend_unittest.cc +++ b/chrome/browser/history/history_backend_unittest.cc @@ -27,9 +27,9 @@ #include "chrome/browser/history/in_memory_history_backend.h" #include "chrome/common/chrome_constants.h" #include "chrome/common/chrome_paths.h" -#include "chrome/common/importer/imported_favicon_usage.h" #include "chrome/common/pref_names.h" #include "chrome/test/base/testing_profile.h" +#include "components/favicon_base/favicon_usage_data.h" #include "components/history/core/browser/history_constants.h" #include "components/history/core/browser/history_database_params.h" #include "components/history/core/browser/history_service_observer.h" @@ -1133,8 +1133,8 @@ TEST_F(HistoryBackendTest, ImportedFaviconsTest) { // Now provide one imported favicon for both URLs already in the registry. // The new favicon should only be used with the URL that doesn't already have // a favicon. - std::vector<ImportedFaviconUsage> favicons; - ImportedFaviconUsage favicon; + favicon_base::FaviconUsageDataList favicons; + favicon_base::FaviconUsageData favicon; favicon.favicon_url = GURL("http://news.google.com/favicon.ico"); favicon.png_data.push_back('2'); favicon.urls.insert(row1.url()); diff --git a/chrome/browser/history/history_service.cc b/chrome/browser/history/history_service.cc index 306408c..1216d95 100644 --- a/chrome/browser/history/history_service.cc +++ b/chrome/browser/history/history_service.cc @@ -33,7 +33,6 @@ #include "chrome/browser/history/in_memory_url_index.h" #include "chrome/browser/history/web_history_service.h" #include "chrome/browser/profiles/profile.h" -#include "chrome/common/importer/imported_favicon_usage.h" #include "chrome/common/url_constants.h" #include "components/dom_distiller/core/url_constants.h" #include "components/history/core/browser/download_row.h" @@ -688,7 +687,7 @@ void HistoryService::CloneFavicons(const GURL& old_page_url, } void HistoryService::SetImportedFavicons( - const std::vector<ImportedFaviconUsage>& favicon_usage) { + const favicon_base::FaviconUsageDataList& favicon_usage) { DCHECK(thread_) << "History service being called after cleanup"; DCHECK(thread_checker_.CalledOnValidThread()); ScheduleTask(PRIORITY_NORMAL, diff --git a/chrome/browser/history/history_service.h b/chrome/browser/history/history_service.h index 23c8e4b..50963ac 100644 --- a/chrome/browser/history/history_service.h +++ b/chrome/browser/history/history_service.h @@ -26,6 +26,7 @@ #include "chrome/browser/history/delete_directive_handler.h" #include "chrome/browser/history/typed_url_syncable_service.h" #include "components/favicon_base/favicon_callback.h" +#include "components/favicon_base/favicon_usage_data.h" #include "components/history/core/browser/history_client.h" #include "components/history/core/browser/keyword_id.h" #include "components/keyed_service/core/keyed_service.h" @@ -40,7 +41,6 @@ class AndroidHistoryProviderService; class GURL; class HistoryService; -struct ImportedFaviconUsage; class PageUsageRequest; class Profile; class SkBitmap; @@ -779,7 +779,7 @@ class HistoryService : public syncer::SyncableService, // once. The pages must exist, any favicon sets for unknown pages will be // discarded. Existing favicons will not be overwritten. void SetImportedFavicons( - const std::vector<ImportedFaviconUsage>& favicon_usage); + const favicon_base::FaviconUsageDataList& favicon_usage); // Sets the in-memory URL database. This is called by the backend once the // database is loaded to make it available. diff --git a/chrome/browser/importer/external_process_importer_client.cc b/chrome/browser/importer/external_process_importer_client.cc index 116c72f..384f78e 100644 --- a/chrome/browser/importer/external_process_importer_client.cc +++ b/chrome/browser/importer/external_process_importer_client.cc @@ -221,7 +221,7 @@ void ExternalProcessImporterClient::OnFaviconsImportStart( } void ExternalProcessImporterClient::OnFaviconsImportGroup( - const std::vector<ImportedFaviconUsage>& favicons_group) { + const favicon_base::FaviconUsageDataList& favicons_group) { if (cancelled_) return; diff --git a/chrome/browser/importer/external_process_importer_client.h b/chrome/browser/importer/external_process_importer_client.h index feca90f..e5a0aa1 100644 --- a/chrome/browser/importer/external_process_importer_client.h +++ b/chrome/browser/importer/external_process_importer_client.h @@ -15,13 +15,13 @@ #include "chrome/common/importer/importer_autofill_form_data_entry.h" #include "chrome/common/importer/importer_data_types.h" #include "chrome/common/importer/importer_url_row.h" +#include "components/favicon_base/favicon_usage_data.h" #include "components/history/core/browser/history_types.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/utility_process_host_client.h" class ExternalProcessImporterHost; struct ImportedBookmarkEntry; -struct ImportedFaviconUsage; class InProcessImporterBridge; namespace autofill { @@ -77,7 +77,7 @@ class ExternalProcessImporterClient : public content::UtilityProcessHostClient { const std::vector<ImportedBookmarkEntry>& bookmarks_group); void OnFaviconsImportStart(size_t total_favicons_count); void OnFaviconsImportGroup( - const std::vector<ImportedFaviconUsage>& favicons_group); + const favicon_base::FaviconUsageDataList& favicons_group); void OnPasswordFormImportReady(const autofill::PasswordForm& form); void OnKeywordsImportReady( const std::vector<importer::SearchEngineInfo>& search_engines, @@ -113,7 +113,7 @@ class ExternalProcessImporterClient : public content::UtilityProcessHostClient { // entire group has been collected and is ready to be written to the profile. std::vector<ImporterURLRow> history_rows_; std::vector<ImportedBookmarkEntry> bookmarks_; - std::vector<ImportedFaviconUsage> favicons_; + favicon_base::FaviconUsageDataList favicons_; std::vector<ImporterAutofillFormDataEntry> autofill_form_data_; // Usually some variation on IDS_BOOKMARK_GROUP_...; the name of the folder diff --git a/chrome/browser/importer/firefox_importer_browsertest.cc b/chrome/browser/importer/firefox_importer_browsertest.cc index 2044a52..536421e 100644 --- a/chrome/browser/importer/firefox_importer_browsertest.cc +++ b/chrome/browser/importer/firefox_importer_browsertest.cc @@ -17,11 +17,11 @@ #include "chrome/browser/ui/browser.h" #include "chrome/common/chrome_paths.h" #include "chrome/common/importer/imported_bookmark_entry.h" -#include "chrome/common/importer/imported_favicon_usage.h" #include "chrome/common/importer/importer_data_types.h" #include "chrome/test/base/in_process_browser_test.h" #include "components/autofill/core/browser/webdata/autofill_entry.h" #include "components/autofill/core/common/password_form.h" +#include "components/favicon_base/favicon_usage_data.h" #include "components/search_engines/template_url.h" #include "testing/gtest/include/gtest/gtest.h" @@ -236,8 +236,8 @@ class FirefoxObserver : public ProfileWriter, } } - void AddFavicons(const std::vector<ImportedFaviconUsage>& favicons) override { - } + void AddFavicons( + const favicon_base::FaviconUsageDataList& favicons) override {} private: ~FirefoxObserver() override {} diff --git a/chrome/browser/importer/ie_importer_browsertest_win.cc b/chrome/browser/importer/ie_importer_browsertest_win.cc index d3fd519..96ac211 100644 --- a/chrome/browser/importer/ie_importer_browsertest_win.cc +++ b/chrome/browser/importer/ie_importer_browsertest_win.cc @@ -35,12 +35,12 @@ #include "chrome/common/importer/ie_importer_test_registry_overrider_win.h" #include "chrome/common/importer/ie_importer_utils_win.h" #include "chrome/common/importer/imported_bookmark_entry.h" -#include "chrome/common/importer/imported_favicon_usage.h" #include "chrome/common/importer/importer_bridge.h" #include "chrome/common/importer/importer_data_types.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/testing_profile.h" #include "components/autofill/core/common/password_form.h" +#include "components/favicon_base/favicon_usage_data.h" #include "components/os_crypt/ie7_password_win.h" #include "components/search_engines/template_url.h" #include "testing/gtest/include/gtest/gtest.h" @@ -323,7 +323,7 @@ class TestObserver : public ProfileWriter, } virtual void AddFavicons( - const std::vector<ImportedFaviconUsage>& usage) override { + const favicon_base::FaviconUsageDataList& usage) override { // Importer should group the favicon information for each favicon URL. for (size_t i = 0; i < arraysize(kIEFaviconGroup); ++i) { GURL favicon_url(kIEFaviconGroup[i].favicon_url); diff --git a/chrome/browser/importer/in_process_importer_bridge.cc b/chrome/browser/importer/in_process_importer_bridge.cc index c017f6e..b1c0861 100644 --- a/chrome/browser/importer/in_process_importer_bridge.cc +++ b/chrome/browser/importer/in_process_importer_bridge.cc @@ -11,10 +11,10 @@ #include "chrome/browser/importer/external_process_importer_host.h" #include "chrome/browser/search_engines/ui_thread_search_terms_data.h" #include "chrome/common/importer/imported_bookmark_entry.h" -#include "chrome/common/importer/imported_favicon_usage.h" #include "chrome/common/importer/importer_autofill_form_data_entry.h" #include "components/autofill/core/browser/webdata/autofill_entry.h" #include "components/autofill/core/common/password_form.h" +#include "components/favicon_base/favicon_usage_data.h" #include "components/search_engines/template_url.h" #include "components/search_engines/template_url_parser.h" #include "components/search_engines/template_url_prepopulate_data.h" @@ -194,7 +194,7 @@ void InProcessImporterBridge::AddIE7PasswordInfo( #endif // OS_WIN void InProcessImporterBridge::SetFavicons( - const std::vector<ImportedFaviconUsage>& favicons) { + const favicon_base::FaviconUsageDataList& favicons) { BrowserThread::PostTask( BrowserThread::UI, FROM_HERE, base::Bind(&ProfileWriter::AddFavicons, writer_, favicons)); diff --git a/chrome/browser/importer/in_process_importer_bridge.h b/chrome/browser/importer/in_process_importer_bridge.h index 9761214..7066d56 100644 --- a/chrome/browser/importer/in_process_importer_bridge.h +++ b/chrome/browser/importer/in_process_importer_bridge.h @@ -17,7 +17,7 @@ class GURL; struct ImportedBookmarkEntry; -struct ImportedFaviconUsage; +struct FaviconUsageData; class ExternalProcessImporterHost; namespace importer { @@ -44,7 +44,7 @@ class InProcessImporterBridge : public ImporterBridge { const importer::ImporterIE7PasswordInfo& password_info) override; #endif - void SetFavicons(const std::vector<ImportedFaviconUsage>& favicons) override; + void SetFavicons(const favicon_base::FaviconUsageDataList& favicons) override; void SetHistoryItems(const std::vector<ImporterURLRow>& rows, importer::VisitSource visit_source) override; diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer/profile_writer.cc index a33236d..bbc6fc5 100644 --- a/chrome/browser/importer/profile_writer.cc +++ b/chrome/browser/importer/profile_writer.cc @@ -24,7 +24,6 @@ #include "chrome/browser/search_engines/template_url_service_factory.h" #include "chrome/browser/webdata/web_data_service_factory.h" #include "chrome/common/importer/imported_bookmark_entry.h" -#include "chrome/common/importer/imported_favicon_usage.h" #include "chrome/common/pref_names.h" #include "components/autofill/core/browser/webdata/autofill_webdata_service.h" #include "components/bookmarks/browser/bookmark_model.h" @@ -236,7 +235,7 @@ void ProfileWriter::AddBookmarks( } void ProfileWriter::AddFavicons( - const std::vector<ImportedFaviconUsage>& favicons) { + const favicon_base::FaviconUsageDataList& favicons) { FaviconServiceFactory::GetForProfile(profile_, ServiceAccessType::EXPLICIT_ACCESS) ->SetImportedFavicons(favicons); diff --git a/chrome/browser/importer/profile_writer.h b/chrome/browser/importer/profile_writer.h index 1c74ec9..fa326fb 100644 --- a/chrome/browser/importer/profile_writer.h +++ b/chrome/browser/importer/profile_writer.h @@ -13,11 +13,11 @@ #include "base/strings/string16.h" #include "base/time/time.h" #include "build/build_config.h" +#include "components/favicon_base/favicon_usage_data.h" #include "components/history/core/browser/history_types.h" #include "url/gurl.h" struct ImportedBookmarkEntry; -struct ImportedFaviconUsage; class Profile; class TemplateURL; @@ -76,8 +76,7 @@ class ProfileWriter : public base::RefCountedThreadSafe<ProfileWriter> { const std::vector<ImportedBookmarkEntry>& bookmarks, const base::string16& top_level_folder_name); - virtual void AddFavicons( - const std::vector<ImportedFaviconUsage>& favicons); + virtual void AddFavicons(const favicon_base::FaviconUsageDataList& favicons); // Adds the TemplateURLs in |template_urls| to the local store. The local // store becomes the owner of the TemplateURLs. Some TemplateURLs in diff --git a/chrome/chrome_common.gypi b/chrome/chrome_common.gypi index d73bfd3..9617bf0 100644 --- a/chrome/chrome_common.gypi +++ b/chrome/chrome_common.gypi @@ -222,8 +222,6 @@ 'common/importer/ie_importer_utils_win.h', 'common/importer/imported_bookmark_entry.cc', 'common/importer/imported_bookmark_entry.h', - 'common/importer/imported_favicon_usage.cc', - 'common/importer/imported_favicon_usage.h', 'common/importer/importer_autofill_form_data_entry.cc', 'common/importer/importer_autofill_form_data_entry.h', 'common/importer/importer_bridge.cc', diff --git a/chrome/common/importer/DEPS b/chrome/common/importer/DEPS new file mode 100644 index 0000000..3daf8ae --- /dev/null +++ b/chrome/common/importer/DEPS @@ -0,0 +1,3 @@ +include_rules = [ + "+components/favicon_base", +] diff --git a/chrome/common/importer/imported_favicon_usage.cc b/chrome/common/importer/imported_favicon_usage.cc deleted file mode 100644 index 96306c3..0000000 --- a/chrome/common/importer/imported_favicon_usage.cc +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "chrome/common/importer/imported_favicon_usage.h" - -ImportedFaviconUsage::ImportedFaviconUsage() { -} - -ImportedFaviconUsage::~ImportedFaviconUsage() { -} diff --git a/chrome/common/importer/importer_bridge.h b/chrome/common/importer/importer_bridge.h index 880f03d..e23a386 100644 --- a/chrome/common/importer/importer_bridge.h +++ b/chrome/common/importer/importer_bridge.h @@ -14,10 +14,10 @@ #include "build/build_config.h" #include "chrome/common/importer/importer_data_types.h" #include "chrome/common/importer/importer_url_row.h" +#include "components/favicon_base/favicon_usage_data.h" class GURL; struct ImportedBookmarkEntry; -struct ImportedFaviconUsage; struct ImporterAutofillFormDataEntry; namespace autofill { @@ -48,7 +48,7 @@ class ImporterBridge : public base::RefCountedThreadSafe<ImporterBridge> { #endif virtual void SetFavicons( - const std::vector<ImportedFaviconUsage>& favicons) = 0; + const favicon_base::FaviconUsageDataList& favicons) = 0; virtual void SetHistoryItems(const std::vector<ImporterURLRow>& rows, importer::VisitSource visit_source) = 0; diff --git a/chrome/common/importer/profile_import_process_messages.h b/chrome/common/importer/profile_import_process_messages.h index 25e4851..d488d5c 100644 --- a/chrome/common/importer/profile_import_process_messages.h +++ b/chrome/common/importer/profile_import_process_messages.h @@ -11,13 +11,13 @@ #include "base/values.h" #include "chrome/common/common_param_traits_macros.h" #include "chrome/common/importer/imported_bookmark_entry.h" -#include "chrome/common/importer/imported_favicon_usage.h" #include "chrome/common/importer/importer_autofill_form_data_entry.h" #include "chrome/common/importer/importer_data_types.h" #include "chrome/common/importer/importer_url_row.h" #include "chrome/common/importer/profile_import_process_param_traits_macros.h" #include "components/autofill/content/common/autofill_param_traits_macros.h" #include "components/autofill/core/common/password_form.h" +#include "components/favicon_base/favicon_usage_data.h" #include "content/public/common/common_param_traits.h" #include "ipc/ipc_message_macros.h" #include "ipc/ipc_message_utils.h" @@ -81,7 +81,7 @@ IPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_NotifyFaviconsImportStart, int /* total number of favicons */) IPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_NotifyFaviconsImportGroup, - std::vector<ImportedFaviconUsage>) + favicon_base::FaviconUsageDataList) IPC_MESSAGE_CONTROL1(ProfileImportProcessHostMsg_NotifyPasswordFormReady, autofill::PasswordForm) diff --git a/chrome/common/importer/profile_import_process_param_traits_macros.h b/chrome/common/importer/profile_import_process_param_traits_macros.h index 45a8ad9..62efb3d 100644 --- a/chrome/common/importer/profile_import_process_param_traits_macros.h +++ b/chrome/common/importer/profile_import_process_param_traits_macros.h @@ -16,12 +16,12 @@ #include "base/values.h" #include "chrome/common/common_param_traits_macros.h" #include "chrome/common/importer/imported_bookmark_entry.h" -#include "chrome/common/importer/imported_favicon_usage.h" #include "chrome/common/importer/importer_autofill_form_data_entry.h" #include "chrome/common/importer/importer_data_types.h" #include "chrome/common/importer/importer_url_row.h" #include "components/autofill/content/common/autofill_param_traits_macros.h" #include "components/autofill/core/common/password_form.h" +#include "components/favicon_base/favicon_usage_data.h" #include "content/public/common/common_param_traits.h" #include "ipc/ipc_message_macros.h" @@ -56,7 +56,7 @@ IPC_STRUCT_TRAITS_BEGIN(ImportedBookmarkEntry) IPC_STRUCT_TRAITS_MEMBER(creation_time) IPC_STRUCT_TRAITS_END() -IPC_STRUCT_TRAITS_BEGIN(ImportedFaviconUsage) +IPC_STRUCT_TRAITS_BEGIN(favicon_base::FaviconUsageData) IPC_STRUCT_TRAITS_MEMBER(favicon_url) IPC_STRUCT_TRAITS_MEMBER(png_data) IPC_STRUCT_TRAITS_MEMBER(urls) diff --git a/chrome/utility/importer/DEPS b/chrome/utility/importer/DEPS index 2559836..e25c5f2 100644 --- a/chrome/utility/importer/DEPS +++ b/chrome/utility/importer/DEPS @@ -1,5 +1,6 @@ include_rules = [ "+components/autofill/core/common", # For PasswordForm. + "+components/favicon_base", "+components/search_engines", "+components/strings/grit", ] diff --git a/chrome/utility/importer/bookmark_html_reader.cc b/chrome/utility/importer/bookmark_html_reader.cc index 8ee67f1..2ba1171 100644 --- a/chrome/utility/importer/bookmark_html_reader.cc +++ b/chrome/utility/importer/bookmark_html_reader.cc @@ -13,7 +13,6 @@ #include "base/strings/utf_string_conversions.h" #include "base/time/time.h" #include "chrome/common/importer/imported_bookmark_entry.h" -#include "chrome/common/importer/imported_favicon_usage.h" #include "chrome/utility/importer/favicon_reencode.h" #include "components/search_engines/search_terms_data.h" #include "components/search_engines/template_url.h" @@ -55,10 +54,9 @@ bool GetAttribute(const std::string& attribute_list, // Given the URL of a page and a favicon data URL, adds an appropriate record // to the given favicon usage vector. -void DataURLToFaviconUsage( - const GURL& link_url, - const GURL& favicon_data, - std::vector<ImportedFaviconUsage>* favicons) { +void DataURLToFaviconUsage(const GURL& link_url, + const GURL& favicon_data, + favicon_base::FaviconUsageDataList* favicons) { if (!link_url.is_valid() || !favicon_data.is_valid() || !favicon_data.SchemeIs(url::kDataScheme)) return; @@ -69,7 +67,7 @@ void DataURLToFaviconUsage( data.empty()) return; - ImportedFaviconUsage usage; + favicon_base::FaviconUsageData usage; if (!importer::ReencodeFavicon( reinterpret_cast<const unsigned char*>(&data[0]), data.size(), &usage.png_data)) @@ -90,12 +88,12 @@ void DataURLToFaviconUsage( namespace bookmark_html_reader { void ImportBookmarksFile( - const base::Callback<bool(void)>& cancellation_callback, - const base::Callback<bool(const GURL&)>& valid_url_callback, - const base::FilePath& file_path, - std::vector<ImportedBookmarkEntry>* bookmarks, - std::vector<importer::SearchEngineInfo>* search_engines, - std::vector<ImportedFaviconUsage>* favicons) { + const base::Callback<bool(void)>& cancellation_callback, + const base::Callback<bool(const GURL&)>& valid_url_callback, + const base::FilePath& file_path, + std::vector<ImportedBookmarkEntry>* bookmarks, + std::vector<importer::SearchEngineInfo>* search_engines, + favicon_base::FaviconUsageDataList* favicons) { std::string content; base::ReadFileToString(file_path, &content); std::vector<std::string> lines; diff --git a/chrome/utility/importer/bookmark_html_reader.h b/chrome/utility/importer/bookmark_html_reader.h index e324634..8150347 100644 --- a/chrome/utility/importer/bookmark_html_reader.h +++ b/chrome/utility/importer/bookmark_html_reader.h @@ -11,10 +11,10 @@ #include "base/callback_forward.h" #include "base/strings/string16.h" #include "chrome/common/importer/importer_data_types.h" +#include "components/favicon_base/favicon_usage_data.h" class GURL; struct ImportedBookmarkEntry; -struct ImportedFaviconUsage; namespace base { class FilePath; @@ -49,7 +49,7 @@ void ImportBookmarksFile( const base::FilePath& file_path, std::vector<ImportedBookmarkEntry>* bookmarks, std::vector<importer::SearchEngineInfo>* search_engines, - std::vector<ImportedFaviconUsage>* favicons); + favicon_base::FaviconUsageDataList* favicons); // Returns true if |url| should be imported as a search engine, i.e. because it // has replacement terms. Chrome treats such bookmarks as search engines rather diff --git a/chrome/utility/importer/bookmarks_file_importer.cc b/chrome/utility/importer/bookmarks_file_importer.cc index 502c73d..1ae2fb1 100644 --- a/chrome/utility/importer/bookmarks_file_importer.cc +++ b/chrome/utility/importer/bookmarks_file_importer.cc @@ -6,12 +6,12 @@ #include "base/bind.h" #include "chrome/common/importer/imported_bookmark_entry.h" -#include "chrome/common/importer/imported_favicon_usage.h" #include "chrome/common/importer/importer_bridge.h" #include "chrome/common/importer/importer_data_types.h" #include "chrome/common/url_constants.h" #include "chrome/grit/generated_resources.h" #include "chrome/utility/importer/bookmark_html_reader.h" +#include "components/favicon_base/favicon_usage_data.h" #include "components/url_fixer/url_fixer.h" #include "content/public/common/url_constants.h" @@ -91,7 +91,7 @@ void BookmarksFileImporter::StartImport( std::vector<ImportedBookmarkEntry> bookmarks; std::vector<importer::SearchEngineInfo> search_engines; - std::vector<ImportedFaviconUsage> favicons; + favicon_base::FaviconUsageDataList favicons; bookmark_html_reader::ImportBookmarksFile( base::Bind(IsImporterCancelled, base::Unretained(this)), diff --git a/chrome/utility/importer/external_process_importer_bridge.cc b/chrome/utility/importer/external_process_importer_bridge.cc index eef5685..24004bc 100644 --- a/chrome/utility/importer/external_process_importer_bridge.cc +++ b/chrome/utility/importer/external_process_importer_bridge.cc @@ -12,7 +12,6 @@ #include "base/task_runner.h" #include "base/values.h" #include "chrome/common/importer/imported_bookmark_entry.h" -#include "chrome/common/importer/imported_favicon_usage.h" #include "chrome/common/importer/importer_data_types.h" #include "chrome/common/importer/profile_import_process_messages.h" #include "components/autofill/core/common/password_form.h" @@ -78,7 +77,7 @@ void ExternalProcessImporterBridge::AddIE7PasswordInfo( #endif void ExternalProcessImporterBridge::SetFavicons( - const std::vector<ImportedFaviconUsage>& favicons) { + const favicon_base::FaviconUsageDataList& favicons) { Send(new ProfileImportProcessHostMsg_NotifyFaviconsImportStart( favicons.size())); @@ -86,10 +85,10 @@ void ExternalProcessImporterBridge::SetFavicons( // Debug bounds-check which prevents pushing an iterator beyond its end() // (i.e., |it + 2 < s.end()| crashes in debug mode if |i + 1 == s.end()|). int favicons_left = favicons.end() - favicons.begin(); - for (std::vector<ImportedFaviconUsage>::const_iterator it = - favicons.begin(); it < favicons.end();) { - std::vector<ImportedFaviconUsage> favicons_group; - std::vector<ImportedFaviconUsage>::const_iterator end_group = + for (favicon_base::FaviconUsageDataList::const_iterator it = favicons.begin(); + it < favicons.end();) { + favicon_base::FaviconUsageDataList favicons_group; + favicon_base::FaviconUsageDataList::const_iterator end_group = it + std::min(favicons_left, kNumFaviconsToSend); favicons_group.assign(it, end_group); diff --git a/chrome/utility/importer/external_process_importer_bridge.h b/chrome/utility/importer/external_process_importer_bridge.h index 2647302..35566a3 100644 --- a/chrome/utility/importer/external_process_importer_bridge.h +++ b/chrome/utility/importer/external_process_importer_bridge.h @@ -12,6 +12,7 @@ #include "base/compiler_specific.h" #include "base/memory/scoped_ptr.h" #include "chrome/common/importer/importer_bridge.h" +#include "components/favicon_base/favicon_usage_data.h" class GURL; struct ImportedBookmarkEntry; @@ -57,7 +58,7 @@ class ExternalProcessImporterBridge : public ImporterBridge { const importer::ImporterIE7PasswordInfo& password_info) override; #endif - void SetFavicons(const std::vector<ImportedFaviconUsage>& favicons) override; + void SetFavicons(const favicon_base::FaviconUsageDataList& favicons) override; void SetHistoryItems(const std::vector<ImporterURLRow>& rows, importer::VisitSource visit_source) override; diff --git a/chrome/utility/importer/firefox_importer.cc b/chrome/utility/importer/firefox_importer.cc index 771aaf9..8e4aa72 100644 --- a/chrome/utility/importer/firefox_importer.cc +++ b/chrome/utility/importer/firefox_importer.cc @@ -16,7 +16,6 @@ #include "base/strings/utf_string_conversions.h" #include "chrome/common/importer/firefox_importer_utils.h" #include "chrome/common/importer/imported_bookmark_entry.h" -#include "chrome/common/importer/imported_favicon_usage.h" #include "chrome/common/importer/importer_autofill_form_data_entry.h" #include "chrome/common/importer/importer_bridge.h" #include "chrome/common/importer/importer_url_row.h" @@ -345,7 +344,7 @@ void FirefoxImporter::ImportBookmarks() { bridge_->SetKeywords(search_engines, false); } if (!favicon_map.empty() && !cancelled()) { - std::vector<ImportedFaviconUsage> favicons; + favicon_base::FaviconUsageDataList favicons; LoadFavicons(&db, favicon_map, &favicons); bridge_->SetFavicons(favicons); } @@ -759,7 +758,7 @@ void FirefoxImporter::GetWholeBookmarkFolder(sql::Connection* db, void FirefoxImporter::LoadFavicons( sql::Connection* db, const FaviconMap& favicon_map, - std::vector<ImportedFaviconUsage>* favicons) { + favicon_base::FaviconUsageDataList* favicons) { const char query[] = "SELECT url, data FROM moz_favicons WHERE id=?"; sql::Statement s(db->GetUniqueStatement(query)); @@ -770,7 +769,7 @@ void FirefoxImporter::LoadFavicons( i != favicon_map.end(); ++i) { s.BindInt64(0, i->first); if (s.Step()) { - ImportedFaviconUsage usage; + favicon_base::FaviconUsageData usage; usage.favicon_url = GURL(s.ColumnString(0)); if (!usage.favicon_url.is_valid()) diff --git a/chrome/utility/importer/firefox_importer.h b/chrome/utility/importer/firefox_importer.h index d401423..7d4c91c 100644 --- a/chrome/utility/importer/firefox_importer.h +++ b/chrome/utility/importer/firefox_importer.h @@ -14,9 +14,9 @@ #include "base/compiler_specific.h" #include "base/files/file_path.h" #include "chrome/utility/importer/importer.h" +#include "components/favicon_base/favicon_usage_data.h" class GURL; -struct ImportedFaviconUsage; namespace sql { class Connection; @@ -76,7 +76,7 @@ class FirefoxImporter : public Importer { // and converts it into FaviconUsage structures. void LoadFavicons(sql::Connection* db, const FaviconMap& favicon_map, - std::vector<ImportedFaviconUsage>* favicons); + favicon_base::FaviconUsageDataList* favicons); base::FilePath source_path_; base::FilePath app_path_; diff --git a/chrome/utility/importer/ie_importer_win.cc b/chrome/utility/importer/ie_importer_win.cc index 8d6368d..c9f9f62 100644 --- a/chrome/utility/importer/ie_importer_win.cc +++ b/chrome/utility/importer/ie_importer_win.cc @@ -31,7 +31,6 @@ #include "base/win/windows_version.h" #include "chrome/common/importer/ie_importer_utils_win.h" #include "chrome/common/importer/imported_bookmark_entry.h" -#include "chrome/common/importer/imported_favicon_usage.h" #include "chrome/common/importer/importer_bridge.h" #include "chrome/common/importer/importer_data_types.h" #include "chrome/common/importer/importer_url_row.h" @@ -366,22 +365,23 @@ bool ReadReencodedFaviconData(const base::string16& file, } // Loads favicon image data and registers to |favicon_map|. -void UpdateFaviconMap(const base::string16& url_file, - const GURL& url, - IUniformResourceLocator* url_locator, - std::map<GURL, ImportedFaviconUsage>* favicon_map) { +void UpdateFaviconMap( + const base::string16& url_file, + const GURL& url, + IUniformResourceLocator* url_locator, + std::map<GURL, favicon_base::FaviconUsageData>* favicon_map) { GURL favicon_url = ReadFaviconURLFromInternetShortcut(url_locator); if (!favicon_url.is_valid()) return; - std::map<GURL, ImportedFaviconUsage>::iterator it = - favicon_map->find(favicon_url); + std::map<GURL, favicon_base::FaviconUsageData>::iterator it = + favicon_map->find(favicon_url); if (it != favicon_map->end()) { // Known favicon URL. it->second.urls.insert(url); } else { // New favicon URL. Read the image data and store. - ImportedFaviconUsage usage; + favicon_base::FaviconUsageData usage; if (ReadReencodedFaviconData(url_file, favicon_url, &usage.png_data)) { usage.favicon_url = favicon_url; usage.urls.insert(url); @@ -457,7 +457,7 @@ void IEImporter::ImportFavorites() { return; BookmarkVector bookmarks; - std::vector<ImportedFaviconUsage> favicons; + favicon_base::FaviconUsageDataList favicons; ParseFavoritesFolder(info, &bookmarks, &favicons); if (!bookmarks.empty() && !cancelled()) { @@ -800,7 +800,7 @@ bool IEImporter::GetFavoritesInfo(IEImporter::FavoritesInfo* info) { void IEImporter::ParseFavoritesFolder( const FavoritesInfo& info, BookmarkVector* bookmarks, - std::vector<ImportedFaviconUsage>* favicons) { + favicon_base::FaviconUsageDataList* favicons) { base::FilePath file; std::vector<base::FilePath::StringType> file_list; base::FilePath favorites_path(info.path); @@ -817,7 +817,7 @@ void IEImporter::ParseFavoritesFolder( // Map from favicon URLs to the favicon data (the binary image data and the // set of bookmark URLs referring to the favicon). - typedef std::map<GURL, ImportedFaviconUsage> FaviconMap; + typedef std::map<GURL, favicon_base::FaviconUsageData> FaviconMap; FaviconMap favicon_map; for (std::vector<base::FilePath::StringType>::iterator it = file_list.begin(); diff --git a/chrome/utility/importer/ie_importer_win.h b/chrome/utility/importer/ie_importer_win.h index fa1f9ea..dd33c9a 100644 --- a/chrome/utility/importer/ie_importer_win.h +++ b/chrome/utility/importer/ie_importer_win.h @@ -13,9 +13,9 @@ #include "base/gtest_prod_util.h" #include "base/strings/string16.h" #include "chrome/utility/importer/importer.h" +#include "components/favicon_base/favicon_usage_data.h" struct ImportedBookmarkEntry; -struct ImportedFaviconUsage; class IEImporter : public Importer { public: @@ -69,10 +69,9 @@ class IEImporter : public Importer { // This function will read the files in the Favorites folder, and store // the bookmark items in |bookmarks| and favicon information in |favicons|. - void ParseFavoritesFolder( - const FavoritesInfo& info, - BookmarkVector* bookmarks, - std::vector<ImportedFaviconUsage>* favicons); + void ParseFavoritesFolder(const FavoritesInfo& info, + BookmarkVector* bookmarks, + favicon_base::FaviconUsageDataList* favicons); // Determines which version of IE is in use. int CurrentIEVersion() const; diff --git a/chrome/utility/importer/safari_importer.h b/chrome/utility/importer/safari_importer.h index 9fbbe0b..e063b75 100644 --- a/chrome/utility/importer/safari_importer.h +++ b/chrome/utility/importer/safari_importer.h @@ -15,6 +15,7 @@ #include "base/gtest_prod_util.h" #include "chrome/common/importer/importer_url_row.h" #include "chrome/utility/importer/importer.h" +#include "components/favicon_base/favicon_usage_data.h" #if __OBJC__ @class NSDictionary; @@ -26,7 +27,6 @@ class NSString; class GURL; struct ImportedBookmarkEntry; -struct ImportedFaviconUsage; namespace sql { class Connection; @@ -94,7 +94,7 @@ class SafariImporter : public Importer { // Loads and reencodes the individual favicons. void LoadFaviconData(sql::Connection* db, const FaviconMap& favicon_map, - std::vector<ImportedFaviconUsage>* favicons); + favicon_base::FaviconUsageDataList* favicons); base::FilePath library_dir_; diff --git a/chrome/utility/importer/safari_importer.mm b/chrome/utility/importer/safari_importer.mm index 865c0e4..7a121f1 100644 --- a/chrome/utility/importer/safari_importer.mm +++ b/chrome/utility/importer/safari_importer.mm @@ -16,7 +16,6 @@ #include "base/strings/utf_string_conversions.h" #include "base/time/time.h" #include "chrome/common/importer/imported_bookmark_entry.h" -#include "chrome/common/importer/imported_favicon_usage.h" #include "chrome/common/importer/importer_bridge.h" #include "chrome/common/url_constants.h" #include "chrome/grit/generated_resources.h" @@ -99,7 +98,7 @@ void SafariImporter::ImportBookmarks() { ImportFaviconURLs(&db, &favicon_map); // Write favicons into profile. if (!favicon_map.empty() && !cancelled()) { - std::vector<ImportedFaviconUsage> favicons; + favicon_base::FaviconUsageDataList favicons; LoadFaviconData(&db, favicon_map, &favicons); bridge_->SetFavicons(favicons); } @@ -133,7 +132,7 @@ void SafariImporter::ImportFaviconURLs(sql::Connection* db, void SafariImporter::LoadFaviconData( sql::Connection* db, const FaviconMap& favicon_map, - std::vector<ImportedFaviconUsage>* favicons) { + favicon_base::FaviconUsageDataList* favicons) { const char query[] = "SELECT i.url, d.data " "FROM IconInfo i JOIN IconData d " "ON i.iconID = d.iconID " @@ -145,7 +144,7 @@ void SafariImporter::LoadFaviconData( s.Reset(true); s.BindInt64(0, i->first); if (s.Step()) { - ImportedFaviconUsage usage; + favicon_base::FaviconUsageData usage; usage.favicon_url = GURL(s.ColumnString(0)); if (!usage.favicon_url.is_valid()) diff --git a/chrome/utility/importer/safari_importer_unittest.mm b/chrome/utility/importer/safari_importer_unittest.mm index 3230dfc..0917f02 100644 --- a/chrome/utility/importer/safari_importer_unittest.mm +++ b/chrome/utility/importer/safari_importer_unittest.mm @@ -15,10 +15,10 @@ #include "base/strings/utf_string_conversions.h" #include "chrome/common/chrome_paths.h" #include "chrome/common/importer/imported_bookmark_entry.h" -#include "chrome/common/importer/imported_favicon_usage.h" #include "chrome/common/importer/importer_bridge.h" #include "chrome/common/importer/safari_importer_utils.h" #include "chrome/utility/importer/safari_importer.h" +#include "components/favicon_base/favicon_usage_data.h" #include "sql/connection.h" #include "testing/platform_test.h" @@ -227,13 +227,13 @@ TEST_F(SafariImporterTest, FaviconImport) { SafariImporter::FaviconMap favicon_map; importer->ImportFaviconURLs(&db, &favicon_map); - std::vector<ImportedFaviconUsage> favicons; + favicon_base::FaviconUsageDataList favicons; importer->LoadFaviconData(&db, favicon_map, &favicons); size_t num_favicons = favicons.size(); ASSERT_EQ(num_favicons, 2U); - ImportedFaviconUsage &fav0 = favicons[0]; + favicon_base::FaviconUsageData& fav0 = favicons[0]; EXPECT_EQ("http://s.ytimg.com/yt/favicon-vfl86270.ico", fav0.favicon_url.spec()); EXPECT_GT(fav0.png_data.size(), 0U); @@ -241,7 +241,7 @@ TEST_F(SafariImporterTest, FaviconImport) { EXPECT_TRUE(fav0.urls.find(GURL("http://www.youtube.com/")) != fav0.urls.end()); - ImportedFaviconUsage &fav1 = favicons[1]; + favicon_base::FaviconUsageData& fav1 = favicons[1]; EXPECT_EQ("http://www.opensearch.org/favicon.ico", fav1.favicon_url.spec()); EXPECT_GT(fav1.png_data.size(), 0U); diff --git a/components/favicon_base.gypi b/components/favicon_base.gypi index 75210ca..53fb07d 100644 --- a/components/favicon_base.gypi +++ b/components/favicon_base.gypi @@ -17,6 +17,8 @@ 'favicon_base/favicon_callback.h', 'favicon_base/favicon_types.cc', 'favicon_base/favicon_types.h', + 'favicon_base/favicon_usage_data.cc', + 'favicon_base/favicon_usage_data.h', 'favicon_base/favicon_util.cc', 'favicon_base/favicon_util.h', 'favicon_base/select_favicon_frames.cc', diff --git a/components/favicon_base/BUILD.gn b/components/favicon_base/BUILD.gn index d1e5a75..cf060fe 100644 --- a/components/favicon_base/BUILD.gn +++ b/components/favicon_base/BUILD.gn @@ -7,6 +7,8 @@ source_set("favicon_base") { "favicon_callback.h", "favicon_types.cc", "favicon_types.h", + "favicon_usage_data.cc", + "favicon_usage_data.h", "favicon_util.cc", "favicon_util.h", "select_favicon_frames.cc", diff --git a/components/favicon_base/favicon_usage_data.cc b/components/favicon_base/favicon_usage_data.cc new file mode 100644 index 0000000..7873a92 --- /dev/null +++ b/components/favicon_base/favicon_usage_data.cc @@ -0,0 +1,15 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/favicon_base/favicon_usage_data.h" + +namespace favicon_base { + +FaviconUsageData::FaviconUsageData() { +} + +FaviconUsageData::~FaviconUsageData() { +} + +} // namespace favicon_base diff --git a/chrome/common/importer/imported_favicon_usage.h b/components/favicon_base/favicon_usage_data.h index 8dc9389..c616728 100644 --- a/chrome/common/importer/imported_favicon_usage.h +++ b/components/favicon_base/favicon_usage_data.h @@ -2,18 +2,20 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_COMMON_IMPORTER_IMPORTED_FAVICON_USAGE_H_ -#define CHROME_COMMON_IMPORTER_IMPORTED_FAVICON_USAGE_H_ +#ifndef COMPONENTS_FAVICON_BASE_FAVICON_USAGE_DATA_H_ +#define COMPONENTS_FAVICON_BASE_FAVICON_USAGE_DATA_H_ #include <set> #include <vector> #include "url/gurl.h" +namespace favicon_base { + // Used to correlate favicons to imported bookmarks. -struct ImportedFaviconUsage { - ImportedFaviconUsage(); - ~ImportedFaviconUsage(); +struct FaviconUsageData { + FaviconUsageData(); + ~FaviconUsageData(); // The URL of the favicon. GURL favicon_url; @@ -25,4 +27,8 @@ struct ImportedFaviconUsage { std::set<GURL> urls; }; -#endif // CHROME_COMMON_IMPORTER_IMPORTED_FAVICON_USAGE_H_ +typedef std::vector<FaviconUsageData> FaviconUsageDataList; + +} // namespace favicon_base + +#endif // COMPONENTS_FAVICON_BASE_FAVICON_USAGE_DATA_H_ |