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

Side by Side Diff: components/translate/ios/browser/language_detection_controller.mm

Issue 2645603002: [ObjC ARC] Converts components/translate/ios/browser:browser to ARC. (Closed)
Patch Set: Removed include Created 3 years, 11 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 #include "components/translate/ios/browser/language_detection_controller.h" 5 #include "components/translate/ios/browser/language_detection_controller.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "base/metrics/histogram.h" 11 #include "base/metrics/histogram.h"
12 #include "base/time/time.h" 12 #include "base/time/time.h"
13 #include "components/prefs/pref_member.h" 13 #include "components/prefs/pref_member.h"
14 #include "components/translate/core/common/translate_pref_names.h" 14 #include "components/translate/core/common/translate_pref_names.h"
15 #include "components/translate/core/language_detection/language_detection_util.h " 15 #include "components/translate/core/language_detection/language_detection_util.h "
16 #import "components/translate/ios/browser/js_language_detection_manager.h" 16 #import "components/translate/ios/browser/js_language_detection_manager.h"
17 #include "components/translate/ios/browser/string_clipping_util.h" 17 #include "components/translate/ios/browser/string_clipping_util.h"
18 #import "ios/web/public/url_scheme_util.h" 18 #import "ios/web/public/url_scheme_util.h"
19 #include "ios/web/public/web_state/web_state.h" 19 #include "ios/web/public/web_state/web_state.h"
20 20
21 #if !defined(__has_feature) || !__has_feature(objc_arc)
22 #error "This file requires ARC support."
23 #endif
24
21 namespace translate { 25 namespace translate {
22 26
23 namespace { 27 namespace {
24 // Name for the UMA metric used to track text extraction time. 28 // Name for the UMA metric used to track text extraction time.
25 const char kTranslateCaptureText[] = "Translate.CaptureText"; 29 const char kTranslateCaptureText[] = "Translate.CaptureText";
26 // Prefix for the language detection javascript commands. Must be kept in sync 30 // Prefix for the language detection javascript commands. Must be kept in sync
27 // with language_detection.js. 31 // with language_detection.js.
28 const char kCommandPrefix[] = "languageDetection"; 32 const char kCommandPrefix[] = "languageDetection";
29 } 33 }
30 34
31 LanguageDetectionController::LanguageDetectionController( 35 LanguageDetectionController::LanguageDetectionController(
32 web::WebState* web_state, 36 web::WebState* web_state,
33 JsLanguageDetectionManager* manager, 37 JsLanguageDetectionManager* manager,
34 PrefService* prefs) 38 PrefService* prefs)
35 : web::WebStateObserver(web_state), 39 : web::WebStateObserver(web_state),
36 js_manager_([manager retain]), 40 js_manager_(manager),
37 weak_method_factory_(this) { 41 weak_method_factory_(this) {
38 DCHECK(web::WebStateObserver::web_state()); 42 DCHECK(web::WebStateObserver::web_state());
39 DCHECK(js_manager_); 43 DCHECK(js_manager_);
40 translate_enabled_.Init(prefs::kEnableTranslate, prefs); 44 translate_enabled_.Init(prefs::kEnableTranslate, prefs);
41 web_state->AddScriptCommandCallback( 45 web_state->AddScriptCommandCallback(
42 base::Bind(&LanguageDetectionController::OnTextCaptured, 46 base::Bind(&LanguageDetectionController::OnTextCaptured,
43 base::Unretained(this)), 47 base::Unretained(this)),
44 kCommandPrefix); 48 kCommandPrefix);
45 } 49 }
46 50
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 143
140 void LanguageDetectionController::HistoryStateChanged() { 144 void LanguageDetectionController::HistoryStateChanged() {
141 StartLanguageDetection(); 145 StartLanguageDetection();
142 } 146 }
143 147
144 void LanguageDetectionController::WebStateDestroyed() { 148 void LanguageDetectionController::WebStateDestroyed() {
145 web_state()->RemoveScriptCommandCallback(kCommandPrefix); 149 web_state()->RemoveScriptCommandCallback(kCommandPrefix);
146 } 150 }
147 151
148 } // namespace translate 152 } // namespace translate
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698