Index: components/dom_distiller/core/distilled_page_prefs_observer_wrapper.cc |
diff --git a/components/dom_distiller/core/distilled_page_prefs_observer_wrapper.cc b/components/dom_distiller/core/distilled_page_prefs_observer_wrapper.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6c67238d2776091af11e9cf0fc57769204b1bc00 |
--- /dev/null |
+++ b/components/dom_distiller/core/distilled_page_prefs_observer_wrapper.cc |
@@ -0,0 +1,39 @@ |
+#include "base/android/jni_weak_ref.h" |
+#include "components/dom_distiller/core/distilled_page_prefs.h" |
+#include "components/dom_distiller/core/distilled_page_prefs_observer_wrapper.h" |
+ |
+#include "jni/DistilledPagePrefsObserverWrapper_jni.h" |
+ |
+namespace dom_distiller { |
+ |
+DistilledPagePrefsObserverWrapper::DistilledPagePrefsObserverWrapper( |
+ JNIEnv* env, |
+ jobject obj) { |
+ java_ref_.Reset(env, obj); |
+} |
+ |
+DistilledPagePrefsObserverWrapper::~DistilledPagePrefsObserverWrapper() { |
+} |
+ |
+bool DistilledPagePrefsObserverWrapper::Register(JNIEnv* env) { |
+ return RegisterNativesImpl(env); |
+} |
+ |
+void DistilledPagePrefsObserverWrapper::Destroy(JNIEnv* env, jobject obj) { |
+ delete this; |
+} |
+ |
+void DistilledPagePrefsObserverWrapper::OnChangeTheme( |
+ DistilledPagePrefs::Theme new_theme) { |
+ JNIEnv* env = base::android::AttachCurrentThread(); |
+ Java_DistilledPagePrefsObserverWrapper_onChangeTheme( |
+ env, java_ref_.obj(), (int)new_theme); |
+} |
+ |
+jlong Init(JNIEnv* env, jobject obj) { |
+ DistilledPagePrefsObserverWrapper* native_observer_wrapper_ = |
+ new DistilledPagePrefsObserverWrapper(env, obj); |
+ return reinterpret_cast<intptr_t>(native_observer_wrapper_); |
+} |
+ |
+} // namespace dom_distiller |