Commit 52f0c608 authored by ntfschr's avatar ntfschr Committed by Commit bot

Componentize SafeBrowsingApi{Bridge,Handler}

Move these classes into components/safe_browsing_db/ and update references

BUG=679018

Review-Url: https://codereview.chromium.org/2622773002
Cr-Commit-Position: refs/heads/master@{#443116}
parent 362c69d2
...@@ -186,6 +186,7 @@ android_library("chrome_java") { ...@@ -186,6 +186,7 @@ android_library("chrome_java") {
"//components/payments:payment_request_java", "//components/payments:payment_request_java",
"//components/policy/android:policy_java", "//components/policy/android:policy_java",
"//components/precache/android:precache_java", "//components/precache/android:precache_java",
"//components/safe_browsing_db/android:safe_browsing_java",
"//components/safe_json/android:safe_json_java", "//components/safe_json/android:safe_json_java",
"//components/safe_json/android:safe_json_java", "//components/safe_json/android:safe_json_java",
"//components/signin/core/browser/android:java", "//components/signin/core/browser/android:java",
......
...@@ -872,8 +872,6 @@ chrome_java_sources = [ ...@@ -872,8 +872,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/push_messaging/PushMessagingServiceObserver.java", "java/src/org/chromium/chrome/browser/push_messaging/PushMessagingServiceObserver.java",
"java/src/org/chromium/chrome/browser/rappor/RapporServiceBridge.java", "java/src/org/chromium/chrome/browser/rappor/RapporServiceBridge.java",
"java/src/org/chromium/chrome/browser/rlz/RevenueStats.java", "java/src/org/chromium/chrome/browser/rlz/RevenueStats.java",
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingApiBridge.java",
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingApiHandler.java",
"java/src/org/chromium/chrome/browser/search_engines/TemplateUrlService.java", "java/src/org/chromium/chrome/browser/search_engines/TemplateUrlService.java",
"java/src/org/chromium/chrome/browser/services/AccountsChangedReceiver.java", "java/src/org/chromium/chrome/browser/services/AccountsChangedReceiver.java",
"java/src/org/chromium/chrome/browser/services/AndroidEduAndChildAccountHelper.java", "java/src/org/chromium/chrome/browser/services/AndroidEduAndChildAccountHelper.java",
......
...@@ -22,7 +22,7 @@ include_rules = [ ...@@ -22,7 +22,7 @@ include_rules = [
"+components/nacl/renderer/plugin/ppapi_entrypoints.h", "+components/nacl/renderer/plugin/ppapi_entrypoints.h",
"+components/nacl/zygote", "+components/nacl/zygote",
"+components/policy", "+components/policy",
"+components/safe_browsing_db/safe_browsing_api_handler.h", "+components/safe_browsing_db",
"+components/startup_metric_utils/browser", "+components/startup_metric_utils/browser",
"+components/upload_list", "+components/upload_list",
"+components/version_info", "+components/version_info",
......
...@@ -13,9 +13,9 @@ ...@@ -13,9 +13,9 @@
#include "base/trace_event/trace_event.h" #include "base/trace_event/trace_event.h"
#include "chrome/browser/android/chrome_startup_flags.h" #include "chrome/browser/android/chrome_startup_flags.h"
#include "chrome/browser/android/metrics/uma_utils.h" #include "chrome/browser/android/metrics/uma_utils.h"
#include "chrome/browser/android/safe_browsing/safe_browsing_api_handler_bridge.h"
#include "chrome/browser/media/android/remote/remote_media_player_manager.h" #include "chrome/browser/media/android/remote/remote_media_player_manager.h"
#include "components/policy/core/browser/android/android_combined_policy_provider.h" #include "components/policy/core/browser/android/android_combined_policy_provider.h"
#include "components/safe_browsing_db/android/safe_browsing_api_handler_bridge.h"
#include "components/safe_browsing_db/safe_browsing_api_handler.h" #include "components/safe_browsing_db/safe_browsing_api_handler.h"
#include "components/startup_metric_utils/browser/startup_metric_utils.h" #include "components/startup_metric_utils/browser/startup_metric_utils.h"
#include "content/browser/media/android/browser_media_player_manager.h" #include "content/browser/media/android/browser_media_player_manager.h"
......
...@@ -2798,8 +2798,6 @@ split_static_library("browser") { ...@@ -2798,8 +2798,6 @@ split_static_library("browser") {
"android/resource_mapper.h", "android/resource_mapper.h",
"android/rlz/revenue_stats.cc", "android/rlz/revenue_stats.cc",
"android/rlz/revenue_stats.h", "android/rlz/revenue_stats.h",
"android/safe_browsing/safe_browsing_api_handler_bridge.cc",
"android/safe_browsing/safe_browsing_api_handler_bridge.h",
"android/search_geolocation/search_geolocation_disclosure_infobar_delegate.cc", "android/search_geolocation/search_geolocation_disclosure_infobar_delegate.cc",
"android/search_geolocation/search_geolocation_disclosure_infobar_delegate.h", "android/search_geolocation/search_geolocation_disclosure_infobar_delegate.h",
"android/search_geolocation/search_geolocation_disclosure_tab_helper.cc", "android/search_geolocation/search_geolocation_disclosure_tab_helper.cc",
...@@ -2997,7 +2995,7 @@ split_static_library("browser") { ...@@ -2997,7 +2995,7 @@ split_static_library("browser") {
"//components/precache/content", "//components/precache/content",
"//components/precache/core", "//components/precache/core",
"//components/resources:components_resources", "//components/resources:components_resources",
"//components/resources:components_resources", "//components/safe_browsing_db",
"//components/toolbar", "//components/toolbar",
"//components/web_contents_delegate_android", "//components/web_contents_delegate_android",
"//sandbox:sandbox_features", "//sandbox:sandbox_features",
...@@ -4019,7 +4017,6 @@ if (is_android) { ...@@ -4019,7 +4017,6 @@ if (is_android) {
"../android/java/src/org/chromium/chrome/browser/push_messaging/PushMessagingServiceObserver.java", "../android/java/src/org/chromium/chrome/browser/push_messaging/PushMessagingServiceObserver.java",
"../android/java/src/org/chromium/chrome/browser/rappor/RapporServiceBridge.java", "../android/java/src/org/chromium/chrome/browser/rappor/RapporServiceBridge.java",
"../android/java/src/org/chromium/chrome/browser/rlz/RevenueStats.java", "../android/java/src/org/chromium/chrome/browser/rlz/RevenueStats.java",
"../android/java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingApiBridge.java",
"../android/java/src/org/chromium/chrome/browser/search_engines/TemplateUrlService.java", "../android/java/src/org/chromium/chrome/browser/search_engines/TemplateUrlService.java",
"../android/java/src/org/chromium/chrome/browser/sessions/SessionTabHelper.java", "../android/java/src/org/chromium/chrome/browser/sessions/SessionTabHelper.java",
"../android/java/src/org/chromium/chrome/browser/signin/AccountManagementScreenHelper.java", "../android/java/src/org/chromium/chrome/browser/signin/AccountManagementScreenHelper.java",
......
...@@ -85,7 +85,6 @@ ...@@ -85,7 +85,6 @@
#include "chrome/browser/android/rappor/rappor_service_bridge.h" #include "chrome/browser/android/rappor/rappor_service_bridge.h"
#include "chrome/browser/android/recently_closed_tabs_bridge.h" #include "chrome/browser/android/recently_closed_tabs_bridge.h"
#include "chrome/browser/android/rlz/revenue_stats.h" #include "chrome/browser/android/rlz/revenue_stats.h"
#include "chrome/browser/android/safe_browsing/safe_browsing_api_handler_bridge.h"
#include "chrome/browser/android/search_geolocation/search_geolocation_disclosure_tab_helper.h" #include "chrome/browser/android/search_geolocation/search_geolocation_disclosure_tab_helper.h"
#include "chrome/browser/android/service_tab_launcher.h" #include "chrome/browser/android/service_tab_launcher.h"
#include "chrome/browser/android/sessions/session_tab_helper_android.h" #include "chrome/browser/android/sessions/session_tab_helper_android.h"
...@@ -170,6 +169,7 @@ ...@@ -170,6 +169,7 @@
#include "components/invalidation/impl/android/component_jni_registrar.h" #include "components/invalidation/impl/android/component_jni_registrar.h"
#include "components/payments/android/payments_jni_registrar.h" #include "components/payments/android/payments_jni_registrar.h"
#include "components/policy/core/browser/android/component_jni_registrar.h" #include "components/policy/core/browser/android/component_jni_registrar.h"
#include "components/safe_browsing_db/android/jni_registrar.h"
#include "components/safe_json/android/component_jni_registrar.h" #include "components/safe_json/android/component_jni_registrar.h"
#include "components/signin/core/browser/android/component_jni_registrar.h" #include "components/signin/core/browser/android/component_jni_registrar.h"
#include "components/spellcheck/browser/android/component_jni_registrar.h" #include "components/spellcheck/browser/android/component_jni_registrar.h"
...@@ -363,7 +363,6 @@ static base::android::RegistrationMethod kChromeRegisteredMethods[] = { ...@@ -363,7 +363,6 @@ static base::android::RegistrationMethod kChromeRegisteredMethods[] = {
{"ResourcePrefetchPredictor", {"ResourcePrefetchPredictor",
predictors::RegisterResourcePrefetchPredictor}, predictors::RegisterResourcePrefetchPredictor},
{"RevenueStats", chrome::android::RegisterRevenueStats}, {"RevenueStats", chrome::android::RegisterRevenueStats},
{"SafeBrowsingApiBridge", safe_browsing::RegisterSafeBrowsingApiBridge},
{"SceneLayer", RegisterSceneLayer}, {"SceneLayer", RegisterSceneLayer},
{"ScreenshotTask", chrome::android::RegisterScreenshotTask}, {"ScreenshotTask", chrome::android::RegisterScreenshotTask},
{"ServiceTabLauncher", ServiceTabLauncher::Register}, {"ServiceTabLauncher", ServiceTabLauncher::Register},
......
...@@ -118,14 +118,26 @@ static_library("remote_database_manager") { ...@@ -118,14 +118,26 @@ static_library("remote_database_manager") {
source_set("safe_browsing_api_handler") { source_set("safe_browsing_api_handler") {
sources = [ sources = [
"android/jni_registrar.cc",
"android/jni_registrar.h",
"safe_browsing_api_handler.cc", "safe_browsing_api_handler.cc",
"safe_browsing_api_handler.h", "safe_browsing_api_handler.h",
] ]
deps = [ deps = [
":safe_browsing_api_handler_util",
":util", ":util",
"//base", "//base",
"//content/public/browser:browser",
"//url", "//url",
] ]
if (is_android) {
deps += [ "//components/safe_browsing_db/android:jni_headers" ]
sources += [
"android/safe_browsing_api_handler_bridge.cc",
"android/safe_browsing_api_handler_bridge.h",
]
}
} }
static_library("safe_browsing_api_handler_util") { static_library("safe_browsing_api_handler_util") {
......
...@@ -6,6 +6,7 @@ include_rules = [ ...@@ -6,6 +6,7 @@ include_rules = [
"+content/public/common", "+content/public/common",
"+content/public/test", "+content/public/test",
"+crypto", "+crypto",
"+jni",
"+third_party/protobuf/src/google", "+third_party/protobuf/src/google",
"+net", "+net",
] ]
# Copyright 2017 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.
import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
android_library("safe_browsing_java") {
deps = [
"//base:base_java",
"//third_party/android_tools:android_support_annotations_java",
]
java_files = [
"java/src/org/chromium/components/safe_browsing/SafeBrowsingApiBridge.java",
"java/src/org/chromium/components/safe_browsing/SafeBrowsingApiHandler.java",
]
}
generate_jni("jni_headers") {
sources = [
"java/src/org/chromium/components/safe_browsing/SafeBrowsingApiBridge.java",
]
jni_package = "components/safe_browsing_db/android"
}
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.safe_browsing; package org.chromium.components.safe_browsing;
import android.content.Context; import android.content.Context;
...@@ -15,7 +15,7 @@ import org.chromium.base.annotations.JNINamespace; ...@@ -15,7 +15,7 @@ import org.chromium.base.annotations.JNINamespace;
*/ */
@JNINamespace("safe_browsing") @JNINamespace("safe_browsing")
public final class SafeBrowsingApiBridge { public final class SafeBrowsingApiBridge {
private static final String TAG = "SafeBrowsingApi"; private static final String TAG = "ApiBridge";
private static Class<? extends SafeBrowsingApiHandler> sHandler; private static Class<? extends SafeBrowsingApiHandler> sHandler;
...@@ -56,8 +56,8 @@ public final class SafeBrowsingApiBridge { ...@@ -56,8 +56,8 @@ public final class SafeBrowsingApiBridge {
} }
@CalledByNative @CalledByNative
private static void startUriLookup(SafeBrowsingApiHandler handler, long callbackId, private static void startUriLookup(
String uri, int[] threatsOfInterest) { SafeBrowsingApiHandler handler, long callbackId, String uri, int[] threatsOfInterest) {
handler.startUriLookup(callbackId, uri, threatsOfInterest); handler.startUriLookup(callbackId, uri, threatsOfInterest);
Log.d(TAG, "Done starting request"); Log.d(TAG, "Done starting request");
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.safe_browsing; package org.chromium.components.safe_browsing;
import android.content.Context; import android.content.Context;
import android.support.annotation.IntDef; import android.support.annotation.IntDef;
...@@ -11,8 +11,8 @@ import java.lang.annotation.Retention; ...@@ -11,8 +11,8 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
/** /**
* Java interface that a SafeBrowsingApiHander must implement when used with * Java interface that a SafeBrowsingApiHandler must implement when used with
* {@code SafeBrowsignApiBridge} * {@code SafeBrowsingApiBridge}
*/ */
public interface SafeBrowsingApiHandler { public interface SafeBrowsingApiHandler {
// Implementors must provide a no-arg constructor to be instantiated via reflection. // Implementors must provide a no-arg constructor to be instantiated via reflection.
...@@ -26,17 +26,12 @@ public interface SafeBrowsingApiHandler { ...@@ -26,17 +26,12 @@ public interface SafeBrowsingApiHandler {
// Possible values for resultStatus. Native side has the same definitions. // Possible values for resultStatus. Native side has the same definitions.
@Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE)
@IntDef({ @IntDef({STATUS_INTERNAL_ERROR, STATUS_SUCCESS, STATUS_TIMEOUT})
STATUS_INTERNAL_ERROR,
STATUS_SUCCESS,
STATUS_TIMEOUT
})
@interface SafeBrowsingResult {} @interface SafeBrowsingResult {}
static final int STATUS_INTERNAL_ERROR = -1; static final int STATUS_INTERNAL_ERROR = -1;
static final int STATUS_SUCCESS = 0; static final int STATUS_SUCCESS = 0;
static final int STATUS_TIMEOUT = 1; static final int STATUS_TIMEOUT = 1;
/** /**
* Verifies that SafeBrowsingApiHandler can operate and initializes if feasible. * Verifies that SafeBrowsingApiHandler can operate and initializes if feasible.
* Should be called on IO thread. * Should be called on IO thread.
......
// Copyright 2017 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 "components/safe_browsing_db/android/jni_registrar.h"
#include "base/android/jni_android.h"
#include "base/android/jni_registrar.h"
#include "base/macros.h"
#include "components/safe_browsing_db/android/safe_browsing_api_handler_bridge.h"
namespace safe_browsing {
namespace android {
static base::android::RegistrationMethod kSafeBrowsingRegisteredMethods[] = {
{"SafeBrowsingApiBridge", safe_browsing::RegisterSafeBrowsingApiBridge},
};
bool RegisterBrowserJNI(JNIEnv* env) {
return RegisterNativeMethods(env, kSafeBrowsingRegisteredMethods,
arraysize(kSafeBrowsingRegisteredMethods));
}
} // namespace android
} // namespace safe_browsing
// Copyright 2017 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.
#ifndef COMPONENTS_SAFE_BROWSING_DB_ANDROID_JNI_REGISTRAR_H
#define COMPONENTS_SAFE_BROWSING_DB_ANDROID_JNI_REGISTRAR_H
#include <jni.h>
namespace safe_browsing {
namespace android {
// Register all JNI bindings necessary for chrome browser process.
bool RegisterBrowserJNI(JNIEnv* env);
} // namespace android
} // namespace safe_browsing
#endif // COMPONENTS_SAFE_BROWSING_DB_ANDROID_JNI_REGISTRAR_H
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include "chrome/browser/android/safe_browsing/safe_browsing_api_handler_bridge.h" #include "components/safe_browsing_db/android/safe_browsing_api_handler_bridge.h"
#include <memory> #include <memory>
#include <string> #include <string>
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
#include "base/android/jni_array.h" #include "base/android/jni_array.h"
#include "base/android/jni_string.h" #include "base/android/jni_string.h"
#include "base/metrics/histogram_macros.h" #include "base/metrics/histogram_macros.h"
#include "chrome/browser/safe_browsing/safe_browsing_util.h"
#include "components/safe_browsing_db/safe_browsing_api_handler_util.h" #include "components/safe_browsing_db/safe_browsing_api_handler_util.h"
#include "content/public/browser/browser_thread.h" #include "content/public/browser/browser_thread.h"
#include "jni/SafeBrowsingApiBridge_jni.h" #include "jni/SafeBrowsingApiBridge_jni.h"
...@@ -73,7 +72,6 @@ ScopedJavaLocalRef<jintArray> SBThreatTypesToJavaArray( ...@@ -73,7 +72,6 @@ ScopedJavaLocalRef<jintArray> SBThreatTypesToJavaArray(
} // namespace } // namespace
bool RegisterSafeBrowsingApiBridge(JNIEnv* env) { bool RegisterSafeBrowsingApiBridge(JNIEnv* env) {
return RegisterNativesImpl(env); return RegisterNativesImpl(env);
} }
...@@ -145,15 +143,14 @@ void OnUrlCheckDone(JNIEnv* env, ...@@ -145,15 +143,14 @@ void OnUrlCheckDone(JNIEnv* env,
SafeBrowsingApiHandlerBridge::SafeBrowsingApiHandlerBridge() SafeBrowsingApiHandlerBridge::SafeBrowsingApiHandlerBridge()
: checked_api_support_(false) {} : checked_api_support_(false) {}
SafeBrowsingApiHandlerBridge::~SafeBrowsingApiHandlerBridge() { SafeBrowsingApiHandlerBridge::~SafeBrowsingApiHandlerBridge() {}
}
bool SafeBrowsingApiHandlerBridge::CheckApiIsSupported() { bool SafeBrowsingApiHandlerBridge::CheckApiIsSupported() {
DCHECK_CURRENTLY_ON(BrowserThread::IO); DCHECK_CURRENTLY_ON(BrowserThread::IO);
if (!checked_api_support_) { if (!checked_api_support_) {
DVLOG(1) << "Checking API support."; DVLOG(1) << "Checking API support.";
j_api_handler_ = Java_SafeBrowsingApiBridge_create( j_api_handler_ = Java_SafeBrowsingApiBridge_create(AttachCurrentThread(),
AttachCurrentThread(), GetApplicationContext()); GetApplicationContext());
checked_api_support_ = true; checked_api_support_ = true;
} }
return j_api_handler_.obj() != nullptr; return j_api_handler_.obj() != nullptr;
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
// //
// Glue to pass Safe Browsing API requests between Chrome and GMSCore // Glue to pass Safe Browsing API requests between Chrome and GMSCore
#ifndef CHROME_BROWSER_ANDROID_SAFE_BROWSING_SAFE_BROWSING_API_HANDLER_BRIDGE_H_ #ifndef COMPONENTS_SAFE_BROWSING_DB_SAFE_BROWSING_API_HANDLER_BRIDGE_H_
#define CHROME_BROWSER_ANDROID_SAFE_BROWSING_SAFE_BROWSING_API_HANDLER_BRIDGE_H_ #define COMPONENTS_SAFE_BROWSING_DB_SAFE_BROWSING_API_HANDLER_BRIDGE_H_
#include <jni.h> #include <jni.h>
...@@ -45,4 +45,4 @@ class SafeBrowsingApiHandlerBridge : public SafeBrowsingApiHandler { ...@@ -45,4 +45,4 @@ class SafeBrowsingApiHandlerBridge : public SafeBrowsingApiHandler {
}; };
} // namespace safe_browsing } // namespace safe_browsing
#endif // CHROME_BROWSER_ANDROID_SAFE_BROWSING_SAFE_BROWSING_API_HANDLER_BRIDGE_H_ #endif // COMPONENTS_SAFE_BROWSING_DB_SAFE_BROWSING_API_HANDLER_BRIDGE_H_
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment