Index: chrome/browser/supervised_user/supervised_user_content_provider_android.cc |
diff --git a/chrome/browser/supervised_user/supervised_user_content_provider_android.cc b/chrome/browser/supervised_user/supervised_user_content_provider_android.cc |
deleted file mode 100644 |
index d5881a22ef6f5cb65992a5c537929eb6db108e40..0000000000000000000000000000000000000000 |
--- a/chrome/browser/supervised_user/supervised_user_content_provider_android.cc |
+++ /dev/null |
@@ -1,141 +0,0 @@ |
-// Copyright 2015 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/supervised_user/supervised_user_content_provider_android.h" |
- |
-#include "base/android/jni_android.h" |
-#include "base/android/jni_string.h" |
-#include "chrome/browser/profiles/profile.h" |
-#include "chrome/browser/profiles/profile_manager.h" |
-#include "chrome/browser/supervised_user/supervised_user_interstitial.h" |
-#include "chrome/browser/supervised_user/supervised_user_service.h" |
-#include "chrome/browser/supervised_user/supervised_user_service_factory.h" |
-#include "jni/SupervisedUserContentProvider_jni.h" |
- |
-using base::android::JavaRef; |
-using base::android::JavaParamRef; |
-using base::android::ScopedJavaGlobalRef; |
-using base::android::AttachCurrentThread; |
- |
-namespace { |
- |
-class UrlFilterObserver : public SupervisedUserURLFilter::Observer { |
- public: |
- UrlFilterObserver(JNIEnv* env, |
- const ScopedJavaGlobalRef<jobject>& java_content_provider) |
- : java_content_provider_(java_content_provider) {} |
- |
- virtual ~UrlFilterObserver() {} |
- |
- private: |
- void OnSiteListUpdated() override { |
- Java_SupervisedUserContentProvider_onSupervisedUserFilterUpdated( |
- AttachCurrentThread(), java_content_provider_.obj()); |
- } |
- ScopedJavaGlobalRef<jobject> java_content_provider_; |
-}; |
- |
-} // namespace |
- |
-static jlong CreateSupervisedUserContentProvider( |
- JNIEnv* env, |
- const JavaParamRef<jobject>& caller) { |
- return reinterpret_cast<intptr_t>( |
- new SupervisedUserContentProvider(env, caller)); |
-} |
- |
-SupervisedUserContentProvider::SupervisedUserContentProvider( |
- JNIEnv* env, |
- const JavaParamRef<jobject>& caller) |
- : profile_(ProfileManager::GetLastUsedProfile()), |
- java_content_provider_(env, caller), |
- weak_factory_(this) { |
- if (profile_->IsSupervised()) { |
- SupervisedUserService* supervised_user_service = |
- SupervisedUserServiceFactory::GetForProfile(profile_); |
- SupervisedUserURLFilter* url_filter = |
- supervised_user_service->GetURLFilterForUIThread(); |
- url_filter->AddObserver(new UrlFilterObserver(env, java_content_provider_)); |
- } |
-} |
- |
-SupervisedUserContentProvider::~SupervisedUserContentProvider() {} |
- |
-void SupervisedUserContentProvider::ShouldProceed( |
- JNIEnv* env, |
- const JavaParamRef<jobject>& caller, |
- const JavaParamRef<jobject>& query_result_jobj, |
- const JavaParamRef<jstring>& url) { |
- if (!profile_->IsSupervised()) { |
- // User isn't supervised |
- Java_SupervisedUserQueryReply_onQueryComplete(env, query_result_jobj.obj(), |
- true, nullptr); |
- return; |
- } |
- SupervisedUserService* supervised_user_service = |
- SupervisedUserServiceFactory::GetForProfile(profile_); |
- SupervisedUserURLFilter* url_filter = |
- supervised_user_service->GetURLFilterForUIThread(); |
- url_filter->GetFilteringBehaviorForURLWithAsyncChecks( |
- GURL(base::android::ConvertJavaStringToUTF16(env, url)), |
- base::Bind(&SupervisedUserContentProvider::OnQueryComplete, |
- weak_factory_.GetWeakPtr(), |
- ScopedJavaGlobalRef<jobject>(env, query_result_jobj.obj()))); |
-} |
- |
-void SupervisedUserContentProvider::RequestInsert( |
- JNIEnv* env, |
- const JavaParamRef<jobject>& caller, |
- const JavaParamRef<jobject>& insert_result_jobj, |
- const JavaParamRef<jstring>& url) { |
- if (!profile_->IsSupervised()) |
- return; |
- SupervisedUserService* supervised_user_service = |
- SupervisedUserServiceFactory::GetForProfile(profile_); |
- supervised_user_service->AddURLAccessRequest( |
- GURL(base::android::ConvertJavaStringToUTF16(env, url)), |
- base::Bind(&SupervisedUserContentProvider::OnInsertRequestSendComplete, |
- weak_factory_.GetWeakPtr(), |
- ScopedJavaGlobalRef<jobject>(env, insert_result_jobj.obj()))); |
-} |
- |
-void SupervisedUserContentProvider::OnQueryComplete( |
- ScopedJavaGlobalRef<jobject> query_reply_jobj, |
- SupervisedUserURLFilter::FilteringBehavior behavior, |
- SupervisedUserURLFilter::FilteringBehaviorReason reason, |
- bool /* uncertain */) { |
- if (behavior != SupervisedUserURLFilter::BLOCK) { |
- Java_SupervisedUserQueryReply_onQueryComplete( |
- AttachCurrentThread(), query_reply_jobj.obj(), true, nullptr); |
- } else { |
- JNIEnv* env = AttachCurrentThread(); |
- Java_SupervisedUserQueryReply_onQueryComplete( |
- env, query_reply_jobj.obj(), false, |
- base::android::ConvertUTF8ToJavaString( |
- env, SupervisedUserInterstitial::GetHTMLContents(profile_, reason)) |
- .obj()); |
- } |
-} |
- |
-void SupervisedUserContentProvider::SetFilterForTesting(JNIEnv* env, |
- jobject caller) { |
- if (!profile_->IsSupervised()) |
- return; |
- SupervisedUserService* supervised_user_service = |
- SupervisedUserServiceFactory::GetForProfile(profile_); |
- SupervisedUserURLFilter* url_filter = |
- supervised_user_service->GetURLFilterForUIThread(); |
- url_filter->SetDefaultFilteringBehavior(SupervisedUserURLFilter::BLOCK); |
-} |
- |
-void SupervisedUserContentProvider::OnInsertRequestSendComplete( |
- ScopedJavaGlobalRef<jobject> insert_reply_jobj, |
- bool sent_ok) { |
- Java_SupervisedUserInsertReply_onInsertRequestSendComplete( |
- AttachCurrentThread(), insert_reply_jobj.obj(), sent_ok); |
-} |
- |
-bool SupervisedUserContentProvider::Register(JNIEnv* env) { |
- return RegisterNativesImpl(env); |
-} |