OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "chrome/browser/supervised_user/supervised_user_content_provider_androi
d.h" | 5 #include "chrome/browser/supervised_user/supervised_user_content_provider_androi
d.h" |
6 | 6 |
7 #include "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" |
8 #include "base/android/jni_string.h" | 8 #include "base/android/jni_string.h" |
9 #include "chrome/browser/profiles/profile.h" | 9 #include "chrome/browser/profiles/profile.h" |
10 #include "chrome/browser/profiles/profile_manager.h" | 10 #include "chrome/browser/profiles/profile_manager.h" |
(...skipping 15 matching lines...) Expand all Loading... |
26 public: | 26 public: |
27 UrlFilterObserver(JNIEnv* env, | 27 UrlFilterObserver(JNIEnv* env, |
28 const ScopedJavaGlobalRef<jobject>& java_content_provider) | 28 const ScopedJavaGlobalRef<jobject>& java_content_provider) |
29 : java_content_provider_(java_content_provider) {} | 29 : java_content_provider_(java_content_provider) {} |
30 | 30 |
31 virtual ~UrlFilterObserver() {} | 31 virtual ~UrlFilterObserver() {} |
32 | 32 |
33 private: | 33 private: |
34 void OnSiteListUpdated() override { | 34 void OnSiteListUpdated() override { |
35 Java_SupervisedUserContentProvider_onSupervisedUserFilterUpdated( | 35 Java_SupervisedUserContentProvider_onSupervisedUserFilterUpdated( |
36 AttachCurrentThread(), java_content_provider_.obj()); | 36 AttachCurrentThread(), java_content_provider_); |
37 } | 37 } |
38 ScopedJavaGlobalRef<jobject> java_content_provider_; | 38 ScopedJavaGlobalRef<jobject> java_content_provider_; |
39 }; | 39 }; |
40 | 40 |
41 } // namespace | 41 } // namespace |
42 | 42 |
43 static jlong CreateSupervisedUserContentProvider( | 43 static jlong CreateSupervisedUserContentProvider( |
44 JNIEnv* env, | 44 JNIEnv* env, |
45 const JavaParamRef<jobject>& caller) { | 45 const JavaParamRef<jobject>& caller) { |
46 return reinterpret_cast<intptr_t>( | 46 return reinterpret_cast<intptr_t>( |
(...skipping 17 matching lines...) Expand all Loading... |
64 | 64 |
65 SupervisedUserContentProvider::~SupervisedUserContentProvider() {} | 65 SupervisedUserContentProvider::~SupervisedUserContentProvider() {} |
66 | 66 |
67 void SupervisedUserContentProvider::ShouldProceed( | 67 void SupervisedUserContentProvider::ShouldProceed( |
68 JNIEnv* env, | 68 JNIEnv* env, |
69 const JavaParamRef<jobject>& caller, | 69 const JavaParamRef<jobject>& caller, |
70 const JavaParamRef<jobject>& query_result_jobj, | 70 const JavaParamRef<jobject>& query_result_jobj, |
71 const JavaParamRef<jstring>& url) { | 71 const JavaParamRef<jstring>& url) { |
72 if (!profile_->IsSupervised()) { | 72 if (!profile_->IsSupervised()) { |
73 // User isn't supervised | 73 // User isn't supervised |
74 Java_SupervisedUserQueryReply_onQueryComplete(env, query_result_jobj.obj()); | 74 Java_SupervisedUserQueryReply_onQueryComplete(env, query_result_jobj); |
75 return; | 75 return; |
76 } | 76 } |
77 SupervisedUserService* supervised_user_service = | 77 SupervisedUserService* supervised_user_service = |
78 SupervisedUserServiceFactory::GetForProfile(profile_); | 78 SupervisedUserServiceFactory::GetForProfile(profile_); |
79 SupervisedUserURLFilter* url_filter = | 79 SupervisedUserURLFilter* url_filter = |
80 supervised_user_service->GetURLFilterForUIThread(); | 80 supervised_user_service->GetURLFilterForUIThread(); |
81 url_filter->GetFilteringBehaviorForURLWithAsyncChecks( | 81 url_filter->GetFilteringBehaviorForURLWithAsyncChecks( |
82 GURL(base::android::ConvertJavaStringToUTF16(env, url)), | 82 GURL(base::android::ConvertJavaStringToUTF16(env, url)), |
83 base::Bind(&SupervisedUserContentProvider::OnQueryComplete, | 83 base::Bind(&SupervisedUserContentProvider::OnQueryComplete, |
84 weak_factory_.GetWeakPtr(), | 84 weak_factory_.GetWeakPtr(), |
(...skipping 16 matching lines...) Expand all Loading... |
101 ScopedJavaGlobalRef<jobject>(env, insert_result_jobj.obj()))); | 101 ScopedJavaGlobalRef<jobject>(env, insert_result_jobj.obj()))); |
102 } | 102 } |
103 | 103 |
104 void SupervisedUserContentProvider::OnQueryComplete( | 104 void SupervisedUserContentProvider::OnQueryComplete( |
105 ScopedJavaGlobalRef<jobject> query_reply_jobj, | 105 ScopedJavaGlobalRef<jobject> query_reply_jobj, |
106 SupervisedUserURLFilter::FilteringBehavior behavior, | 106 SupervisedUserURLFilter::FilteringBehavior behavior, |
107 supervised_user_error_page::FilteringBehaviorReason reason, | 107 supervised_user_error_page::FilteringBehaviorReason reason, |
108 bool /* uncertain */) { | 108 bool /* uncertain */) { |
109 if (behavior != SupervisedUserURLFilter::BLOCK) { | 109 if (behavior != SupervisedUserURLFilter::BLOCK) { |
110 Java_SupervisedUserQueryReply_onQueryComplete(AttachCurrentThread(), | 110 Java_SupervisedUserQueryReply_onQueryComplete(AttachCurrentThread(), |
111 query_reply_jobj.obj()); | 111 query_reply_jobj); |
112 } else { | 112 } else { |
113 JNIEnv* env = AttachCurrentThread(); | 113 JNIEnv* env = AttachCurrentThread(); |
114 SupervisedUserService* service = | 114 SupervisedUserService* service = |
115 SupervisedUserServiceFactory::GetForProfile(profile_); | 115 SupervisedUserServiceFactory::GetForProfile(profile_); |
116 Java_SupervisedUserQueryReply_onQueryFailed( | 116 Java_SupervisedUserQueryReply_onQueryFailed( |
117 env, query_reply_jobj.obj(), reason, service->AccessRequestsEnabled(), | 117 env, query_reply_jobj, reason, service->AccessRequestsEnabled(), |
118 profile_->IsChild(), | 118 profile_->IsChild(), |
119 base::android::ConvertUTF8ToJavaString( | 119 base::android::ConvertUTF8ToJavaString( |
120 env, profile_->GetPrefs()->GetString( | 120 env, profile_->GetPrefs()->GetString( |
121 prefs::kSupervisedUserCustodianProfileImageURL)) | 121 prefs::kSupervisedUserCustodianProfileImageURL)), |
122 .obj(), | |
123 base::android::ConvertUTF8ToJavaString( | 122 base::android::ConvertUTF8ToJavaString( |
124 env, profile_->GetPrefs()->GetString( | 123 env, profile_->GetPrefs()->GetString( |
125 prefs::kSupervisedUserSecondCustodianProfileImageURL)) | 124 prefs::kSupervisedUserSecondCustodianProfileImageURL)), |
126 .obj(), | 125 base::android::ConvertUTF8ToJavaString(env, |
127 base::android::ConvertUTF8ToJavaString(env, service->GetCustodianName()) | 126 service->GetCustodianName()), |
128 .obj(), | |
129 base::android::ConvertUTF8ToJavaString( | 127 base::android::ConvertUTF8ToJavaString( |
130 env, service->GetCustodianEmailAddress()) | 128 env, service->GetCustodianEmailAddress()), |
131 .obj(), | |
132 base::android::ConvertUTF8ToJavaString( | 129 base::android::ConvertUTF8ToJavaString( |
133 env, service->GetSecondCustodianName()) | 130 env, service->GetSecondCustodianName()), |
134 .obj(), | |
135 base::android::ConvertUTF8ToJavaString( | 131 base::android::ConvertUTF8ToJavaString( |
136 env, service->GetSecondCustodianEmailAddress()) | 132 env, service->GetSecondCustodianEmailAddress())); |
137 .obj()); | |
138 } | 133 } |
139 } | 134 } |
140 | 135 |
141 void SupervisedUserContentProvider::SetFilterForTesting(JNIEnv* env, | 136 void SupervisedUserContentProvider::SetFilterForTesting(JNIEnv* env, |
142 jobject caller) { | 137 jobject caller) { |
143 if (!profile_->IsSupervised()) | 138 if (!profile_->IsSupervised()) |
144 return; | 139 return; |
145 SupervisedUserService* supervised_user_service = | 140 SupervisedUserService* supervised_user_service = |
146 SupervisedUserServiceFactory::GetForProfile(profile_); | 141 SupervisedUserServiceFactory::GetForProfile(profile_); |
147 SupervisedUserURLFilter* url_filter = | 142 SupervisedUserURLFilter* url_filter = |
148 supervised_user_service->GetURLFilterForUIThread(); | 143 supervised_user_service->GetURLFilterForUIThread(); |
149 url_filter->SetDefaultFilteringBehavior(SupervisedUserURLFilter::BLOCK); | 144 url_filter->SetDefaultFilteringBehavior(SupervisedUserURLFilter::BLOCK); |
150 } | 145 } |
151 | 146 |
152 void SupervisedUserContentProvider::OnInsertRequestSendComplete( | 147 void SupervisedUserContentProvider::OnInsertRequestSendComplete( |
153 ScopedJavaGlobalRef<jobject> insert_reply_jobj, | 148 ScopedJavaGlobalRef<jobject> insert_reply_jobj, |
154 bool sent_ok) { | 149 bool sent_ok) { |
155 Java_SupervisedUserInsertReply_onInsertRequestSendComplete( | 150 Java_SupervisedUserInsertReply_onInsertRequestSendComplete( |
156 AttachCurrentThread(), insert_reply_jobj.obj(), sent_ok); | 151 AttachCurrentThread(), insert_reply_jobj, sent_ok); |
157 } | 152 } |
158 | 153 |
159 bool SupervisedUserContentProvider::Register(JNIEnv* env) { | 154 bool SupervisedUserContentProvider::Register(JNIEnv* env) { |
160 return RegisterNativesImpl(env); | 155 return RegisterNativesImpl(env); |
161 } | 156 } |
OLD | NEW |