Chromium Code Reviews| Index: components/dom_distiller/core/distilled_page_prefs_android.cc |
| diff --git a/components/dom_distiller/core/distilled_page_prefs_android.cc b/components/dom_distiller/core/distilled_page_prefs_android.cc |
| index a4edfbd690516145a0f87b2022e57c9c06627dc3..f67a3e8999eada88e40e953789c11aa391a1f146 100644 |
| --- a/components/dom_distiller/core/distilled_page_prefs_android.cc |
| +++ b/components/dom_distiller/core/distilled_page_prefs_android.cc |
| @@ -9,13 +9,14 @@ |
| #include "jni/DistilledPagePrefs_jni.h" |
| namespace dom_distiller { |
| + |
| namespace android { |
| DistilledPagePrefsAndroid::DistilledPagePrefsAndroid( |
| JNIEnv* env, |
| jobject obj, |
| - DistilledPagePrefs* distillerPagePrefsPtr) |
| - : distilled_page_prefs_(distillerPagePrefsPtr) { |
| + DistilledPagePrefs* distilled_page_prefs_ptr) |
| + : distilled_page_prefs_(distilled_page_prefs_ptr) { |
| } |
| DistilledPagePrefsAndroid::~DistilledPagePrefsAndroid() { |
| @@ -29,11 +30,11 @@ jint DistilledPagePrefsAndroid::GetTheme(JNIEnv* env, jobject obj) { |
| return (int)distilled_page_prefs_->GetTheme(); |
| } |
| -jlong Init(JNIEnv* env, jobject obj, jlong distilledPagePrefsPtr) { |
| - DistilledPagePrefs* distilledPagePrefs = |
| - reinterpret_cast<DistilledPagePrefs*>(distilledPagePrefsPtr); |
| +jlong Init(JNIEnv* env, jobject obj, jlong distilled_page_prefs_ptr) { |
| + DistilledPagePrefs* distilled_page_prefs = |
| + reinterpret_cast<DistilledPagePrefs*>(distilled_page_prefs_ptr); |
| DistilledPagePrefsAndroid* distilled_page_prefs_android = |
| - new DistilledPagePrefsAndroid(env, obj, distilledPagePrefs); |
| + new DistilledPagePrefsAndroid(env, obj, distilled_page_prefs); |
| return reinterpret_cast<intptr_t>(distilled_page_prefs_android); |
| } |
| @@ -41,5 +42,48 @@ bool DistilledPagePrefsAndroid::Register(JNIEnv* env) { |
| return RegisterNativesImpl(env); |
| } |
| +void DistilledPagePrefsAndroid::AddObserver(JNIEnv* env, |
| + jobject obj, |
| + jlong observer_ptr) { |
| + DistilledPagePrefsObserverAndroid* distilled_page_prefs_observer_wrapper = |
| + reinterpret_cast<DistilledPagePrefsObserverAndroid*>(observer_ptr); |
| + distilled_page_prefs_->AddObserver(distilled_page_prefs_observer_wrapper); |
| +} |
| + |
| +void DistilledPagePrefsAndroid::RemoveObserver(JNIEnv* env, |
| + jobject obj, |
| + jlong observer_ptr) { |
| + DistilledPagePrefsObserverAndroid* distilled_page_prefs_observer_wrapper = |
| + reinterpret_cast<DistilledPagePrefsObserverAndroid*>(observer_ptr); |
| + distilled_page_prefs_->RemoveObserver(distilled_page_prefs_observer_wrapper); |
| +} |
| + |
| +DistilledPagePrefsObserverAndroid::DistilledPagePrefsObserverAndroid( |
| + JNIEnv* env, |
| + jobject obj) { |
| + java_ref_.Reset(env, obj); |
| +} |
| + |
| +DistilledPagePrefsObserverAndroid::~DistilledPagePrefsObserverAndroid() {} |
| + |
| +void DistilledPagePrefsObserverAndroid::DestroyObserverAndroid(JNIEnv* env, |
| + jobject obj) { |
| + delete this; |
| +} |
| + |
| +void DistilledPagePrefsObserverAndroid::OnChangeTheme( |
| + DistilledPagePrefs::Theme new_theme) { |
| + JNIEnv* env = base::android::AttachCurrentThread(); |
| + Java_DistilledPagePrefsObserverWrapper_onChangeTheme( |
| + env, java_ref_.obj(), (int)new_theme); |
| +} |
| + |
| +jlong InitObserverAndroid(JNIEnv* env, jobject obj) { |
| + DistilledPagePrefsObserverAndroid* native_observer_wrapper = |
|
nyquist
2014/07/23 17:30:46
Nit: observer_android maybe?
sunangel
2014/07/23 18:04:31
Done.
|
| + new DistilledPagePrefsObserverAndroid(env, obj); |
| + return reinterpret_cast<intptr_t>(native_observer_wrapper); |
| +} |
| + |
| } // namespace android |
| + |
| } // namespace dom_distiller |