OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 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 #ifndef CHROME_BROWSER_ACCESSIBILITY_FONT_SIZE_PREFS_ANDROID_H_ | |
6 #define CHROME_BROWSER_ACCESSIBILITY_FONT_SIZE_PREFS_ANDROID_H_ | |
7 | |
8 #include <jni.h> | |
9 #include "base/android/scoped_java_ref.h" | |
10 #include "base/observer_list.h" | |
11 | |
12 class PrefChangeRegistrar; | |
13 class PrefService; | |
14 class Profile; | |
15 | |
16 class FontSizePrefsAndroid { | |
nyquist
2014/08/06 23:39:26
What does this class do? Does it have a correspond
sunangel
2014/08/07 18:50:54
Tried to describe it better...again not sure if it
| |
17 public: | |
18 class Observer { | |
19 public: | |
20 virtual void OnChangeFontSize(float font) = 0; | |
21 virtual void OnChangeForceEnableZoom(bool enabled) = 0; | |
22 }; | |
23 | |
24 FontSizePrefsAndroid(JNIEnv* env, jobject obj, Profile* profile); | |
25 ~FontSizePrefsAndroid(); | |
26 void Destroy(JNIEnv* env, jobject obj); | |
27 | |
28 void SetFontScaleFactor(JNIEnv* env, jobject obj, jfloat font); | |
29 float GetFontScaleFactor(JNIEnv* env, jobject obj); | |
30 void SetForceEnableZoom(JNIEnv* env, jobject obj, jboolean enabled); | |
31 bool GetForceEnableZoom(JNIEnv* env, jobject obj); | |
32 | |
33 void AddObserver(JNIEnv* env, jobject obj, jlong obs); | |
34 void RemoveObserver(JNIEnv* env, jobject obj, jlong obs); | |
35 | |
36 static bool Register(JNIEnv* env); | |
37 | |
38 private: | |
39 // Callback for FontScaleFactor changes from pref change registrar. | |
40 void OnFontScaleFactorPrefsChanged(); | |
41 // Callback for ForceEnableZoom changes from pref change registrar. | |
42 void OnForceEnableZoomPrefsChanged(); | |
43 | |
44 scoped_ptr<PrefChangeRegistrar> pref_change_registrar_; | |
45 PrefService* const pref_service_; | |
46 ObserverList<Observer> observers_; | |
47 base::android::ScopedJavaGlobalRef<jobject> java_ref_; | |
48 | |
49 DISALLOW_COPY_AND_ASSIGN(FontSizePrefsAndroid); | |
50 }; | |
51 | |
52 class FontSizePrefsObserverAndroid : public FontSizePrefsAndroid::Observer { | |
nyquist
2014/08/06 23:39:26
same as above? Refer to Java class?
sunangel
2014/08/07 18:50:54
Done.
| |
53 public: | |
54 FontSizePrefsObserverAndroid(JNIEnv* env, jobject obj); | |
55 virtual ~FontSizePrefsObserverAndroid(); | |
56 void DestroyObserverAndroid(JNIEnv* env, jobject obj); | |
57 | |
58 static bool Register(JNIEnv* env); | |
59 | |
60 // FontSizePrefs::Observer implementation. | |
61 virtual void OnChangeFontSize(float font) OVERRIDE; | |
62 virtual void OnChangeForceEnableZoom(bool enabled) OVERRIDE; | |
63 | |
64 private: | |
65 base::android::ScopedJavaGlobalRef<jobject> java_ref_; | |
66 }; | |
67 | |
68 #endif // CHROME_BROWSER_ACCESSIBILITY_FONT_SIZE_PREFS_ANDROID_H_ | |
OLD | NEW |