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

Side by Side Diff: ios/web_view/internal/translate/criwv_translate_accept_languages_factory.cc

Issue 2714223004: Update class prefixes in ios/web_view/translate. (Closed)
Patch Set: Rebase and respond to comments. Created 3 years, 9 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
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "ios/web_view/internal/translate/criwv_translate_accept_languages_facto ry.h"
6
7 #include "base/memory/ptr_util.h"
8 #include "base/memory/singleton.h"
9 #include "components/keyed_service/core/keyed_service.h"
10 #include "components/keyed_service/ios/browser_state_dependency_manager.h"
11 #include "components/prefs/pref_service.h"
12 #include "components/translate/core/browser/translate_accept_languages.h"
13 #include "ios/web_view/internal/pref_names.h"
14 #include "ios/web_view/internal/web_view_browser_state.h"
15
16 namespace {
17
18 // TranslateAcceptLanguagesService is a thin container for
19 // TranslateAcceptLanguages to enable associating it with a BrowserState.
20 class TranslateAcceptLanguagesService : public KeyedService {
21 public:
22 explicit TranslateAcceptLanguagesService(PrefService* prefs);
23 ~TranslateAcceptLanguagesService() override;
24
25 // Returns the associated TranslateAcceptLanguages.
26 translate::TranslateAcceptLanguages& accept_languages() {
27 return accept_languages_;
28 }
29
30 private:
31 translate::TranslateAcceptLanguages accept_languages_;
32
33 DISALLOW_COPY_AND_ASSIGN(TranslateAcceptLanguagesService);
34 };
35
36 TranslateAcceptLanguagesService::TranslateAcceptLanguagesService(
37 PrefService* prefs)
38 : accept_languages_(prefs, prefs::kAcceptLanguages) {}
39
40 TranslateAcceptLanguagesService::~TranslateAcceptLanguagesService() {}
41
42 } // namespace
43
44 namespace ios_web_view {
45
46 // static
47 CRIWVTranslateAcceptLanguagesFactory*
48 CRIWVTranslateAcceptLanguagesFactory::GetInstance() {
49 return base::Singleton<CRIWVTranslateAcceptLanguagesFactory>::get();
50 }
51
52 // static
53 translate::TranslateAcceptLanguages*
54 CRIWVTranslateAcceptLanguagesFactory::GetForBrowserState(
55 WebViewBrowserState* browser_state) {
56 TranslateAcceptLanguagesService* service =
57 static_cast<TranslateAcceptLanguagesService*>(
58 GetInstance()->GetServiceForBrowserState(browser_state, true));
59 return &service->accept_languages();
60 }
61
62 CRIWVTranslateAcceptLanguagesFactory::CRIWVTranslateAcceptLanguagesFactory()
63 : BrowserStateKeyedServiceFactory(
64 "TranslateAcceptLanguagesService",
65 BrowserStateDependencyManager::GetInstance()) {}
66
67 CRIWVTranslateAcceptLanguagesFactory::~CRIWVTranslateAcceptLanguagesFactory() {}
68
69 std::unique_ptr<KeyedService>
70 CRIWVTranslateAcceptLanguagesFactory::BuildServiceInstanceFor(
71 web::BrowserState* context) const {
72 WebViewBrowserState* browser_state =
73 WebViewBrowserState::FromBrowserState(context);
74 return base::MakeUnique<TranslateAcceptLanguagesService>(
75 browser_state->GetPrefs());
76 }
77
78 } // namespace ios_web_view
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698