summaryrefslogtreecommitdiffstats
path: root/android_webview/native
diff options
context:
space:
mode:
authorpaulmiller <paulmiller@chromium.org>2016-01-04 16:50:19 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-05 00:51:20 +0000
commit5bc628b55810289b6ebb269da47642b929eaf42d (patch)
treef05214cca24a1c5d209c0d82b234c54944188e5b /android_webview/native
parentaa1c4ced03fe5890aa8cd2e330b939ee3accf02a (diff)
downloadchromium_src-5bc628b55810289b6ebb269da47642b929eaf42d.zip
chromium_src-5bc628b55810289b6ebb269da47642b929eaf42d.tar.gz
chromium_src-5bc628b55810289b6ebb269da47642b929eaf42d.tar.bz2
WebView Metrics client implementation (Chromium part)
BUG=546754 Review URL: https://codereview.chromium.org/1474483004 Cr-Commit-Position: refs/heads/master@{#367433}
Diffstat (limited to 'android_webview/native')
-rw-r--r--android_webview/native/BUILD.gn8
-rw-r--r--android_webview/native/android_webview_jni_registrar.cc2
-rw-r--r--android_webview/native/aw_metrics_switch.cc23
-rw-r--r--android_webview/native/aw_metrics_switch.h16
-rw-r--r--android_webview/native/webview_native.gyp8
5 files changed, 55 insertions, 2 deletions
diff --git a/android_webview/native/BUILD.gn b/android_webview/native/BUILD.gn
index cec2c0e..c4dbb20 100644
--- a/android_webview/native/BUILD.gn
+++ b/android_webview/native/BUILD.gn
@@ -28,7 +28,10 @@ source_set("native") {
"//ui/gfx/geometry:geometry",
]
- include_dirs = [ "//skia/config" ]
+ include_dirs = [
+ "//skia/config",
+ "//third_party/protobuf",
+ ]
sources = [
"android_protocol_handler.cc",
@@ -65,6 +68,8 @@ source_set("native") {
"aw_media_url_interceptor.h",
"aw_message_port_service_impl.cc",
"aw_message_port_service_impl.h",
+ "aw_metrics_switch.cc",
+ "aw_metrics_switch.h",
"aw_pdf_exporter.cc",
"aw_pdf_exporter.h",
"aw_picture.cc",
@@ -128,6 +133,7 @@ generate_jni("native_jni") {
"../java/src/org/chromium/android_webview/AwFormDatabase.java",
"../java/src/org/chromium/android_webview/AwHttpAuthHandler.java",
"../java/src/org/chromium/android_webview/AwMessagePortService.java",
+ "../java/src/org/chromium/android_webview/AwMetricsServiceClient.java",
"../java/src/org/chromium/android_webview/AwPdfExporter.java",
"../java/src/org/chromium/android_webview/AwPicture.java",
"../java/src/org/chromium/android_webview/AwQuotaManagerBridge.java",
diff --git a/android_webview/native/android_webview_jni_registrar.cc b/android_webview/native/android_webview_jni_registrar.cc
index a585d7e..cd353ec 100644
--- a/android_webview/native/android_webview_jni_registrar.cc
+++ b/android_webview/native/android_webview_jni_registrar.cc
@@ -17,6 +17,7 @@
#include "android_webview/native/aw_form_database.h"
#include "android_webview/native/aw_http_auth_handler.h"
#include "android_webview/native/aw_message_port_service_impl.h"
+#include "android_webview/native/aw_metrics_switch.h"
#include "android_webview/native/aw_pdf_exporter.h"
#include "android_webview/native/aw_picture.h"
#include "android_webview/native/aw_quota_manager_bridge_impl.h"
@@ -50,6 +51,7 @@ static base::android::RegistrationMethod kWebViewRegisteredMethods[] = {
{ "AwPicture", RegisterAwPicture },
{ "AwSettings", RegisterAwSettings },
{ "AwHttpAuthHandler", RegisterAwHttpAuthHandler },
+ { "AwMetricsServiceClient", RegisterAwMetricsServiceClient },
{ "AwPdfExporter", RegisterAwPdfExporter },
{ "AwPermissionRequest", RegisterAwPermissionRequest },
{ "AwQuotaManagerBridge", RegisterAwQuotaManagerBridge },
diff --git a/android_webview/native/aw_metrics_switch.cc b/android_webview/native/aw_metrics_switch.cc
new file mode 100644
index 0000000..44ab70a
--- /dev/null
+++ b/android_webview/native/aw_metrics_switch.cc
@@ -0,0 +1,23 @@
+// 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 "android_webview/native/aw_metrics_switch.h"
+
+#include "android_webview/browser/aw_metrics_service_client.h"
+#include "android_webview/jni/AwMetricsServiceClient_jni.h"
+
+namespace android_webview {
+
+static void SetMetricsEnabled(
+ JNIEnv* env,
+ const base::android::JavaParamRef<jclass>& jcaller,
+ jboolean enabled) {
+ AwMetricsServiceClient::GetInstance()->SetMetricsEnabled(enabled);
+}
+
+bool RegisterAwMetricsServiceClient(JNIEnv* env) {
+ return RegisterNativesImpl(env);
+}
+
+} // namespace android_webview
diff --git a/android_webview/native/aw_metrics_switch.h b/android_webview/native/aw_metrics_switch.h
new file mode 100644
index 0000000..3f07a60
--- /dev/null
+++ b/android_webview/native/aw_metrics_switch.h
@@ -0,0 +1,16 @@
+// 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.
+
+#ifndef ANDROID_WEBVIEW_NATIVE_AW_METRICS_SWITCH_
+#define ANDROID_WEBVIEW_NATIVE_AW_METRICS_SWITCH_
+
+#include <jni.h>
+
+namespace android_webview {
+
+bool RegisterAwMetricsServiceClient(JNIEnv* env);
+
+} // namespace android_webview
+
+#endif // ANDROID_WEBVIEW_NATIVE_AW_METRICS_SWITCH_
diff --git a/android_webview/native/webview_native.gyp b/android_webview/native/webview_native.gyp
index 97d941e..1a89e19 100644
--- a/android_webview/native/webview_native.gyp
+++ b/android_webview/native/webview_native.gyp
@@ -4,6 +4,7 @@
{
'variables': {
'chromium_code': 1,
+ 'protoc_out_dir': '<(SHARED_INTERMEDIATE_DIR)/protoc_out',
},
'targets': [
{
@@ -32,6 +33,8 @@
'include_dirs': [
'../..',
'../../skia/config',
+ '../../third_party/protobuf/src',
+ '<(protoc_out_dir)',
],
'sources': [
'android_protocol_handler.cc',
@@ -67,7 +70,9 @@
'aw_media_url_interceptor.cc',
'aw_media_url_interceptor.h',
'aw_message_port_service_impl.cc',
- 'aw_messagE_port_service_impl.h',
+ 'aw_message_port_service_impl.h',
+ 'aw_metrics_switch.cc',
+ 'aw_metrics_switch.h',
'aw_pdf_exporter.cc',
'aw_pdf_exporter.h',
'aw_picture.cc',
@@ -145,6 +150,7 @@
'../java/src/org/chromium/android_webview/AwFormDatabase.java',
'../java/src/org/chromium/android_webview/AwHttpAuthHandler.java',
'../java/src/org/chromium/android_webview/AwMessagePortService.java',
+ '../java/src/org/chromium/android_webview/AwMetricsServiceClient.java',
'../java/src/org/chromium/android_webview/AwPdfExporter.java',
'../java/src/org/chromium/android_webview/AwPicture.java',
'../java/src/org/chromium/android_webview/AwQuotaManagerBridge.java',