Commit 856df74d authored by Jia's avatar Jia Committed by Commit Bot

[cros search service] Remove LocalSearchServiceProxy

This is the last part in changing the impl to c++ directly.
For easier review
1. Diff between base and patch 1:
- change names of factory .h and .cc files

2. Diff between patch 1 and patch 2:
- change Factory class name
- delete proxy class
- implement LocalSearchService as a KeyedService, which is
returned by the factory

Bug: 1064424,1018613
Change-Id: I0c5a69088f991be3dbe827e15f28706504cc2170
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2162521Reviewed-by: default avatarColin Blundell <blundell@chromium.org>
Reviewed-by: default avatarKyle Horimoto <khorimoto@chromium.org>
Commit-Queue: Jia Meng <jiameng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#762542}
parent cfdcce33
...@@ -1317,10 +1317,8 @@ source_set("chromeos") { ...@@ -1317,10 +1317,8 @@ source_set("chromeos") {
"local_search_service/index.h", "local_search_service/index.h",
"local_search_service/local_search_service.cc", "local_search_service/local_search_service.cc",
"local_search_service/local_search_service.h", "local_search_service/local_search_service.h",
"local_search_service/local_search_service_proxy.cc", "local_search_service/local_search_service_factory.cc",
"local_search_service/local_search_service_proxy.h", "local_search_service/local_search_service_factory.h",
"local_search_service/local_search_service_proxy_factory.cc",
"local_search_service/local_search_service_proxy_factory.h",
"locale_change_guard.cc", "locale_change_guard.cc",
"locale_change_guard.h", "locale_change_guard.h",
"lock_screen_apps/app_manager.h", "lock_screen_apps/app_manager.h",
...@@ -2985,7 +2983,6 @@ source_set("unit_tests") { ...@@ -2985,7 +2983,6 @@ source_set("unit_tests") {
"kerberos/kerberos_credentials_manager_test.cc", "kerberos/kerberos_credentials_manager_test.cc",
"kerberos/kerberos_ticket_expiry_notification_test.cc", "kerberos/kerberos_ticket_expiry_notification_test.cc",
"local_search_service/index_unittest.cc", "local_search_service/index_unittest.cc",
"local_search_service/local_search_service_proxy_unittest.cc",
"local_search_service/local_search_service_unittest.cc", "local_search_service/local_search_service_unittest.cc",
"local_search_service/test_utils.cc", "local_search_service/test_utils.cc",
"local_search_service/test_utils.h", "local_search_service/test_utils.h",
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include <memory> #include <memory>
#include "base/macros.h" #include "base/macros.h"
#include "components/keyed_service/core/keyed_service.h"
namespace local_search_service { namespace local_search_service {
...@@ -18,10 +19,10 @@ enum class IndexId { kCrosSettings = 0 }; ...@@ -18,10 +19,10 @@ enum class IndexId { kCrosSettings = 0 };
// LocalSearchService creates and owns content-specific Indices. Clients can // LocalSearchService creates and owns content-specific Indices. Clients can
// call it |GetIndex| method to get an Index for a given index id. // call it |GetIndex| method to get an Index for a given index id.
class LocalSearchService { class LocalSearchService : public KeyedService {
public: public:
LocalSearchService(); LocalSearchService();
~LocalSearchService(); ~LocalSearchService() override;
LocalSearchService(const LocalSearchService&) = delete; LocalSearchService(const LocalSearchService&) = delete;
LocalSearchService& operator=(const LocalSearchService&) = delete; LocalSearchService& operator=(const LocalSearchService&) = delete;
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include "chrome/browser/chromeos/local_search_service/local_search_service_proxy_factory.h" #include "chrome/browser/chromeos/local_search_service/local_search_service_factory.h"
#include "chrome/browser/chromeos/local_search_service/local_search_service_proxy.h" #include "chrome/browser/chromeos/local_search_service/local_search_service.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "components/keyed_service/content/browser_context_dependency_manager.h" #include "components/keyed_service/content/browser_context_dependency_manager.h"
...@@ -14,25 +14,24 @@ ...@@ -14,25 +14,24 @@
namespace local_search_service { namespace local_search_service {
LocalSearchServiceProxy* LocalSearchServiceProxyFactory::GetForProfile( LocalSearchService* LocalSearchServiceFactory::GetForProfile(Profile* profile) {
Profile* profile) { return static_cast<LocalSearchService*>(
return static_cast<LocalSearchServiceProxy*>( LocalSearchServiceFactory::GetInstance()->GetServiceForBrowserContext(
LocalSearchServiceProxyFactory::GetInstance() profile, true /* create */));
->GetServiceForBrowserContext(profile, true /* create */));
} }
LocalSearchServiceProxyFactory* LocalSearchServiceProxyFactory::GetInstance() { LocalSearchServiceFactory* LocalSearchServiceFactory::GetInstance() {
return base::Singleton<LocalSearchServiceProxyFactory>::get(); return base::Singleton<LocalSearchServiceFactory>::get();
} }
LocalSearchServiceProxyFactory::LocalSearchServiceProxyFactory() LocalSearchServiceFactory::LocalSearchServiceFactory()
: BrowserContextKeyedServiceFactory( : BrowserContextKeyedServiceFactory(
"LocalSearchServiceProxy", "LocalSearchService",
BrowserContextDependencyManager::GetInstance()) {} BrowserContextDependencyManager::GetInstance()) {}
LocalSearchServiceProxyFactory::~LocalSearchServiceProxyFactory() = default; LocalSearchServiceFactory::~LocalSearchServiceFactory() = default;
content::BrowserContext* LocalSearchServiceProxyFactory::GetBrowserContextToUse( content::BrowserContext* LocalSearchServiceFactory::GetBrowserContextToUse(
content::BrowserContext* context) const { content::BrowserContext* context) const {
Profile* const profile = Profile::FromBrowserContext(context); Profile* const profile = Profile::FromBrowserContext(context);
if (!profile || profile->IsSystemProfile()) { if (!profile || profile->IsSystemProfile()) {
...@@ -54,9 +53,10 @@ content::BrowserContext* LocalSearchServiceProxyFactory::GetBrowserContextToUse( ...@@ -54,9 +53,10 @@ content::BrowserContext* LocalSearchServiceProxyFactory::GetBrowserContextToUse(
return context; return context;
} }
KeyedService* LocalSearchServiceProxyFactory::BuildServiceInstanceFor( KeyedService* LocalSearchServiceFactory::BuildServiceInstanceFor(
content::BrowserContext* context) const { content::BrowserContext* context) const {
return new LocalSearchServiceProxy(Profile::FromBrowserContext(context)); // Profile isn't needed.
return new LocalSearchService();
} }
} // namespace local_search_service } // namespace local_search_service
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#ifndef CHROME_BROWSER_CHROMEOS_LOCAL_SEARCH_SERVICE_LOCAL_SEARCH_SERVICE_PROXY_FACTORY_H_ #ifndef CHROME_BROWSER_CHROMEOS_LOCAL_SEARCH_SERVICE_LOCAL_SEARCH_SERVICE_FACTORY_H_
#define CHROME_BROWSER_CHROMEOS_LOCAL_SEARCH_SERVICE_LOCAL_SEARCH_SERVICE_PROXY_FACTORY_H_ #define CHROME_BROWSER_CHROMEOS_LOCAL_SEARCH_SERVICE_LOCAL_SEARCH_SERVICE_FACTORY_H_
#include "base/macros.h" #include "base/macros.h"
#include "base/memory/singleton.h" #include "base/memory/singleton.h"
...@@ -13,25 +13,23 @@ class Profile; ...@@ -13,25 +13,23 @@ class Profile;
namespace local_search_service { namespace local_search_service {
class LocalSearchServiceProxy; class LocalSearchService;
class LocalSearchServiceProxyFactory class LocalSearchServiceFactory : public BrowserContextKeyedServiceFactory {
: public BrowserContextKeyedServiceFactory {
public: public:
static LocalSearchServiceProxy* GetForProfile(Profile* profile); static LocalSearchService* GetForProfile(Profile* profile);
static LocalSearchServiceProxyFactory* GetInstance(); static LocalSearchServiceFactory* GetInstance();
private: private:
friend struct base::DefaultSingletonTraits<LocalSearchServiceProxyFactory>; friend struct base::DefaultSingletonTraits<LocalSearchServiceFactory>;
LocalSearchServiceProxyFactory(); LocalSearchServiceFactory();
~LocalSearchServiceProxyFactory() override; ~LocalSearchServiceFactory() override;
LocalSearchServiceProxyFactory(const LocalSearchServiceProxyFactory&) = LocalSearchServiceFactory(const LocalSearchServiceFactory&) = delete;
LocalSearchServiceFactory& operator=(const LocalSearchServiceFactory&) =
delete; delete;
LocalSearchServiceProxyFactory& operator=(
const LocalSearchServiceProxyFactory&) = delete;
// BrowserContextKeyedServiceFactory overrides. // BrowserContextKeyedServiceFactory overrides.
content::BrowserContext* GetBrowserContextToUse( content::BrowserContext* GetBrowserContextToUse(
...@@ -42,4 +40,4 @@ class LocalSearchServiceProxyFactory ...@@ -42,4 +40,4 @@ class LocalSearchServiceProxyFactory
} // namespace local_search_service } // namespace local_search_service
#endif // CHROME_BROWSER_CHROMEOS_LOCAL_SEARCH_SERVICE_LOCAL_SEARCH_SERVICE_PROXY_FACTORY_H_ #endif // CHROME_BROWSER_CHROMEOS_LOCAL_SEARCH_SERVICE_LOCAL_SEARCH_SERVICE_FACTORY_H_
// Copyright 2019 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/browser/chromeos/local_search_service/local_search_service_proxy.h"
#include "base/threading/thread_task_runner_handle.h"
#include "chrome/browser/chromeos/local_search_service/local_search_service.h"
namespace local_search_service {
LocalSearchServiceProxy::LocalSearchServiceProxy(Profile* profile) {}
LocalSearchServiceProxy::~LocalSearchServiceProxy() = default;
LocalSearchService* LocalSearchServiceProxy::GetLocalSearchService() {
if (!local_search_service_) {
local_search_service_ = std::make_unique<LocalSearchService>();
}
return local_search_service_.get();
}
} // namespace local_search_service
// Copyright 2019 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.
#ifndef CHROME_BROWSER_CHROMEOS_LOCAL_SEARCH_SERVICE_LOCAL_SEARCH_SERVICE_PROXY_H_
#define CHROME_BROWSER_CHROMEOS_LOCAL_SEARCH_SERVICE_LOCAL_SEARCH_SERVICE_PROXY_H_
#include <memory>
#include "base/macros.h"
#include "base/memory/weak_ptr.h"
#include "components/keyed_service/core/keyed_service.h"
class Profile;
namespace local_search_service {
class LocalSearchService;
// TODO(jiameng): the next cl will remove this class completely because the
// factory will return LocalSearchService (that will be a KeyedService).
class LocalSearchServiceProxy : public KeyedService {
public:
// Profile isn't required, hence can be nullptr in tests.
explicit LocalSearchServiceProxy(Profile* profile);
~LocalSearchServiceProxy() override;
LocalSearchServiceProxy(const LocalSearchServiceProxy&) = delete;
LocalSearchServiceProxy& operator=(const LocalSearchServiceProxy&) = delete;
LocalSearchService* GetLocalSearchService();
private:
std::unique_ptr<LocalSearchService> local_search_service_;
base::WeakPtrFactory<LocalSearchServiceProxy> weak_ptr_factory_{this};
};
} // namespace local_search_service
#endif // CHROME_BROWSER_CHROMEOS_LOCAL_SEARCH_SERVICE_LOCAL_SEARCH_SERVICE_PROXY_H_
// Copyright 2019 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 <map>
#include <string>
#include <utility>
#include <vector>
#include "chrome/browser/chromeos/local_search_service/index.h"
#include "chrome/browser/chromeos/local_search_service/local_search_service.h"
#include "chrome/browser/chromeos/local_search_service/local_search_service_proxy.h"
#include "chrome/browser/chromeos/local_search_service/test_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace local_search_service {
class LocalSearchServiceProxyTest : public testing::Test {};
TEST_F(LocalSearchServiceProxyTest, Basic) {
LocalSearchServiceProxy service_proxy(nullptr);
LocalSearchService* const service = service_proxy.GetLocalSearchService();
DCHECK(service);
Index* const index = service->GetIndex(IndexId::kCrosSettings);
DCHECK(index);
EXPECT_EQ(index->GetSize(), 0u);
// Register the following data to the search index, the map is id to
// search-tags.
const std::map<std::string, std::vector<std::string>> data_to_register = {
{"id1", {"tag1a", "tag1b"}}, {"id2", {"tag2a", "tag2b"}}};
std::vector<Data> data = CreateTestData(data_to_register);
EXPECT_EQ(data.size(), 2u);
index->AddOrUpdate(data);
EXPECT_EQ(index->GetSize(), 2u);
}
} // namespace local_search_service
...@@ -5,8 +5,7 @@ ...@@ -5,8 +5,7 @@
#include "chrome/browser/ui/webui/settings/chromeos/os_settings_localized_strings_provider_factory.h" #include "chrome/browser/ui/webui/settings/chromeos/os_settings_localized_strings_provider_factory.h"
#include "chrome/browser/chromeos/kerberos/kerberos_credentials_manager_factory.h" #include "chrome/browser/chromeos/kerberos/kerberos_credentials_manager_factory.h"
#include "chrome/browser/chromeos/local_search_service/local_search_service_proxy.h" #include "chrome/browser/chromeos/local_search_service/local_search_service_factory.h"
#include "chrome/browser/chromeos/local_search_service/local_search_service_proxy_factory.h"
#include "chrome/browser/chromeos/multidevice_setup/multidevice_setup_client_factory.h" #include "chrome/browser/chromeos/multidevice_setup/multidevice_setup_client_factory.h"
#include "chrome/browser/profiles/incognito_helpers.h" #include "chrome/browser/profiles/incognito_helpers.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
...@@ -38,8 +37,7 @@ OsSettingsLocalizedStringsProviderFactory:: ...@@ -38,8 +37,7 @@ OsSettingsLocalizedStringsProviderFactory::
: BrowserContextKeyedServiceFactory( : BrowserContextKeyedServiceFactory(
"OsSettingsLocalizedStringsProvider", "OsSettingsLocalizedStringsProvider",
BrowserContextDependencyManager::GetInstance()) { BrowserContextDependencyManager::GetInstance()) {
DependsOn( DependsOn(local_search_service::LocalSearchServiceFactory::GetInstance());
local_search_service::LocalSearchServiceProxyFactory::GetInstance());
DependsOn(multidevice_setup::MultiDeviceSetupClientFactory::GetInstance()); DependsOn(multidevice_setup::MultiDeviceSetupClientFactory::GetInstance());
DependsOn(ProfileSyncServiceFactory::GetInstance()); DependsOn(ProfileSyncServiceFactory::GetInstance());
DependsOn(SupervisedUserServiceFactory::GetInstance()); DependsOn(SupervisedUserServiceFactory::GetInstance());
...@@ -56,9 +54,7 @@ OsSettingsLocalizedStringsProviderFactory::BuildServiceInstanceFor( ...@@ -56,9 +54,7 @@ OsSettingsLocalizedStringsProviderFactory::BuildServiceInstanceFor(
Profile* profile = Profile::FromBrowserContext(context); Profile* profile = Profile::FromBrowserContext(context);
return new OsSettingsLocalizedStringsProvider( return new OsSettingsLocalizedStringsProvider(
profile, profile,
local_search_service::LocalSearchServiceProxyFactory::GetForProfile( local_search_service::LocalSearchServiceFactory::GetForProfile(profile),
profile)
->GetLocalSearchService(),
multidevice_setup::MultiDeviceSetupClientFactory::GetForProfile(profile), multidevice_setup::MultiDeviceSetupClientFactory::GetForProfile(profile),
ProfileSyncServiceFactory::GetForProfile(profile), ProfileSyncServiceFactory::GetForProfile(profile),
SupervisedUserServiceFactory::GetForProfile(profile), SupervisedUserServiceFactory::GetForProfile(profile),
......
...@@ -7,8 +7,7 @@ ...@@ -7,8 +7,7 @@
#include "base/run_loop.h" #include "base/run_loop.h"
#include "chrome/browser/chromeos/local_search_service/index.h" #include "chrome/browser/chromeos/local_search_service/index.h"
#include "chrome/browser/chromeos/local_search_service/local_search_service.h" #include "chrome/browser/chromeos/local_search_service/local_search_service.h"
#include "chrome/browser/chromeos/local_search_service/local_search_service_proxy.h" #include "chrome/browser/chromeos/local_search_service/local_search_service_factory.h"
#include "chrome/browser/chromeos/local_search_service/local_search_service_proxy_factory.h"
#include "chrome/browser/ui/webui/settings/chromeos/os_settings_localized_strings_provider_factory.h" #include "chrome/browser/ui/webui/settings/chromeos/os_settings_localized_strings_provider_factory.h"
#include "chrome/browser/ui/webui/settings/chromeos/search/search_concept.h" #include "chrome/browser/ui/webui/settings/chromeos/search/search_concept.h"
#include "chrome/common/webui_url_constants.h" #include "chrome/common/webui_url_constants.h"
...@@ -42,9 +41,7 @@ class OsSettingsLocalizedStringsProviderTest : public testing::Test { ...@@ -42,9 +41,7 @@ class OsSettingsLocalizedStringsProviderTest : public testing::Test {
OsSettingsLocalizedStringsProviderFactory::GetForProfile(profile); OsSettingsLocalizedStringsProviderFactory::GetForProfile(profile);
index_ = index_ =
local_search_service::LocalSearchServiceProxyFactory::GetForProfile( local_search_service::LocalSearchServiceFactory::GetForProfile(profile)
profile)
->GetLocalSearchService()
->GetIndex(local_search_service::IndexId::kCrosSettings); ->GetIndex(local_search_service::IndexId::kCrosSettings);
// Allow asynchronous networking code to complete (networking functionality // Allow asynchronous networking code to complete (networking functionality
......
...@@ -4,8 +4,7 @@ ...@@ -4,8 +4,7 @@
#include "chrome/browser/ui/webui/settings/chromeos/search/search_handler_factory.h" #include "chrome/browser/ui/webui/settings/chromeos/search/search_handler_factory.h"
#include "chrome/browser/chromeos/local_search_service/local_search_service_proxy.h" #include "chrome/browser/chromeos/local_search_service/local_search_service_factory.h"
#include "chrome/browser/chromeos/local_search_service/local_search_service_proxy_factory.h"
#include "chrome/browser/profiles/incognito_helpers.h" #include "chrome/browser/profiles/incognito_helpers.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/webui/settings/chromeos/os_settings_localized_strings_provider_factory.h" #include "chrome/browser/ui/webui/settings/chromeos/os_settings_localized_strings_provider_factory.h"
...@@ -31,8 +30,7 @@ SearchHandlerFactory::SearchHandlerFactory() ...@@ -31,8 +30,7 @@ SearchHandlerFactory::SearchHandlerFactory()
: BrowserContextKeyedServiceFactory( : BrowserContextKeyedServiceFactory(
"SearchHandler", "SearchHandler",
BrowserContextDependencyManager::GetInstance()) { BrowserContextDependencyManager::GetInstance()) {
DependsOn( DependsOn(local_search_service::LocalSearchServiceFactory::GetInstance());
local_search_service::LocalSearchServiceProxyFactory::GetInstance());
DependsOn(OsSettingsLocalizedStringsProviderFactory::GetInstance()); DependsOn(OsSettingsLocalizedStringsProviderFactory::GetInstance());
} }
...@@ -43,9 +41,8 @@ KeyedService* SearchHandlerFactory::BuildServiceInstanceFor( ...@@ -43,9 +41,8 @@ KeyedService* SearchHandlerFactory::BuildServiceInstanceFor(
Profile* profile = Profile::FromBrowserContext(context); Profile* profile = Profile::FromBrowserContext(context);
return new SearchHandler( return new SearchHandler(
OsSettingsLocalizedStringsProviderFactory::GetForProfile(profile), OsSettingsLocalizedStringsProviderFactory::GetForProfile(profile),
local_search_service::LocalSearchServiceProxyFactory::GetForProfile( local_search_service::LocalSearchServiceFactory::GetForProfile(
Profile::FromBrowserContext(profile)) Profile::FromBrowserContext(profile)));
->GetLocalSearchService());
} }
bool SearchHandlerFactory::ServiceIsNULLWhileTesting() const { bool SearchHandlerFactory::ServiceIsNULLWhileTesting() const {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment