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

Side by Side Diff: ios/web_view/internal/translate/criwv_translate_client.mm

Issue 2650323002: Cleanup ios/web_view. (Closed)
Patch Set: Respond to comments. Created 3 years, 10 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 2014 The Chromium Authors. All rights reserved. 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 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 #import "ios/web_view/internal/translate/criwv_translate_client.h" 5 #import "ios/web_view/internal/translate/criwv_translate_client.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/ptr_util.h"
11 #import "base/mac/scoped_nsobject.h"
10 #include "components/infobars/core/infobar.h" 12 #include "components/infobars/core/infobar.h"
11 #include "components/prefs/pref_service.h" 13 #include "components/prefs/pref_service.h"
12 #include "components/translate/core/browser/page_translated_details.h" 14 #include "components/translate/core/browser/page_translated_details.h"
13 #include "components/translate/core/browser/translate_accept_languages.h" 15 #include "components/translate/core/browser/translate_accept_languages.h"
14 #include "components/translate/core/browser/translate_infobar_delegate.h" 16 #include "components/translate/core/browser/translate_infobar_delegate.h"
15 #include "components/translate/core/browser/translate_manager.h" 17 #include "components/translate/core/browser/translate_manager.h"
16 #include "components/translate/core/browser/translate_prefs.h" 18 #include "components/translate/core/browser/translate_prefs.h"
17 #include "components/translate/core/browser/translate_step.h" 19 #include "components/translate/core/browser/translate_step.h"
18 #include "ios/web/public/browser_state.h" 20 #include "ios/web/public/browser_state.h"
19 #import "ios/web/public/web_state/web_state.h" 21 #import "ios/web/public/web_state/web_state.h"
20 #include "ios/web_view/internal/criwv_browser_state.h" 22 #include "ios/web_view/internal/criwv_browser_state.h"
21 #include "ios/web_view/internal/pref_names.h" 23 #include "ios/web_view/internal/pref_names.h"
22 #include "ios/web_view/internal/translate/criwv_translate_accept_languages_facto ry.h" 24 #include "ios/web_view/internal/translate/criwv_translate_accept_languages_facto ry.h"
23 #import "ios/web_view/internal/translate/criwv_translate_manager_impl.h" 25 #import "ios/web_view/internal/translate/criwv_translate_manager_impl.h"
24 #import "ios/web_view/public/criwv_translate_delegate.h" 26 #import "ios/web_view/public/criwv_translate_delegate.h"
25 #include "url/gurl.h" 27 #include "url/gurl.h"
26 28
27 DEFINE_WEB_STATE_USER_DATA_KEY(ios_web_view::CRIWVTranslateClient); 29 DEFINE_WEB_STATE_USER_DATA_KEY(ios_web_view::CRIWVTranslateClient);
28 30
29 namespace ios_web_view { 31 namespace ios_web_view {
30 32
31 CRIWVTranslateClient::CRIWVTranslateClient(web::WebState* web_state) 33 CRIWVTranslateClient::CRIWVTranslateClient(web::WebState* web_state)
32 : web::WebStateObserver(web_state), 34 : web::WebStateObserver(web_state),
33 translate_manager_( 35 translate_manager_(base::MakeUnique<translate::TranslateManager>(
34 new translate::TranslateManager(this, prefs::kAcceptLanguages)), 36 this,
37 prefs::kAcceptLanguages)),
35 translate_driver_(web_state, 38 translate_driver_(web_state,
36 web_state->GetNavigationManager(), 39 web_state->GetNavigationManager(),
37 translate_manager_.get()) {} 40 translate_manager_.get()) {}
38 41
39 CRIWVTranslateClient::~CRIWVTranslateClient() {} 42 CRIWVTranslateClient::~CRIWVTranslateClient() {}
40 43
41 // TranslateClient implementation: 44 // TranslateClient implementation:
42 45
43 std::unique_ptr<infobars::InfoBar> CRIWVTranslateClient::CreateInfoBar( 46 std::unique_ptr<infobars::InfoBar> CRIWVTranslateClient::CreateInfoBar(
44 std::unique_ptr<translate::TranslateInfoBarDelegate> delegate) const { 47 std::unique_ptr<translate::TranslateInfoBarDelegate> delegate) const {
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 102
100 PrefService* CRIWVTranslateClient::GetPrefs() { 103 PrefService* CRIWVTranslateClient::GetPrefs() {
101 DCHECK(web_state()); 104 DCHECK(web_state());
102 return CRIWVBrowserState::FromBrowserState(web_state()->GetBrowserState()) 105 return CRIWVBrowserState::FromBrowserState(web_state()->GetBrowserState())
103 ->GetPrefs(); 106 ->GetPrefs();
104 } 107 }
105 108
106 std::unique_ptr<translate::TranslatePrefs> 109 std::unique_ptr<translate::TranslatePrefs>
107 CRIWVTranslateClient::GetTranslatePrefs() { 110 CRIWVTranslateClient::GetTranslatePrefs() {
108 DCHECK(web_state()); 111 DCHECK(web_state());
109 return std::unique_ptr<translate::TranslatePrefs>( 112 return base::MakeUnique<translate::TranslatePrefs>(
110 new translate::TranslatePrefs(GetPrefs(), prefs::kAcceptLanguages, 113 GetPrefs(), prefs::kAcceptLanguages, nullptr);
111 nullptr));
112 } 114 }
113 115
114 translate::TranslateAcceptLanguages* 116 translate::TranslateAcceptLanguages*
115 CRIWVTranslateClient::GetTranslateAcceptLanguages() { 117 CRIWVTranslateClient::GetTranslateAcceptLanguages() {
116 translate::TranslateAcceptLanguages* accept_languages = 118 translate::TranslateAcceptLanguages* accept_languages =
117 CRIWVTranslateAcceptLanguagesFactory::GetForBrowserState( 119 CRIWVTranslateAcceptLanguagesFactory::GetForBrowserState(
118 CRIWVBrowserState::FromBrowserState(web_state()->GetBrowserState())); 120 CRIWVBrowserState::FromBrowserState(web_state()->GetBrowserState()));
119 DCHECK(accept_languages); 121 DCHECK(accept_languages);
120 return accept_languages; 122 return accept_languages;
121 } 123 }
(...skipping 13 matching lines...) Expand all
135 } 137 }
136 138
137 void CRIWVTranslateClient::WebStateDestroyed() { 139 void CRIWVTranslateClient::WebStateDestroyed() {
138 // Translation process can be interrupted. 140 // Translation process can be interrupted.
139 // Destroying the TranslateManager now guarantees that it never has to deal 141 // Destroying the TranslateManager now guarantees that it never has to deal
140 // with nullptr WebState. 142 // with nullptr WebState.
141 translate_manager_.reset(); 143 translate_manager_.reset();
142 } 144 }
143 145
144 } // namespace ios_web_view 146 } // namespace ios_web_view
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698