Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(673)

Unified Diff: content/browser/android/tracing_controller_android.cc

Issue 257093004: [Android] Add an option to view the tracing record categories when running from python script. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Minor style cleanup! Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/android/tracing_controller_android.cc
diff --git a/content/browser/android/tracing_controller_android.cc b/content/browser/android/tracing_controller_android.cc
index 3c3ee756434fa57490f67648d142d139041fd99e..1d1478a9b880ae85d0a744982d89da12bedb6bb6 100644
--- a/content/browser/android/tracing_controller_android.cc
+++ b/content/browser/android/tracing_controller_android.cc
@@ -7,7 +7,9 @@
#include "base/android/jni_android.h"
#include "base/android/jni_string.h"
#include "base/debug/trace_event.h"
+#include "base/json/json_writer.h"
#include "base/logging.h"
+#include "base/memory/ref_counted_memory.h"
#include "content/public/browser/tracing_controller.h"
#include "jni/TracingControllerAndroid_jni.h"
@@ -76,6 +78,38 @@ void TracingControllerAndroid::OnTracingStopped(
Java_TracingControllerAndroid_onTracingStopped(env, obj.obj());
}
+bool TracingControllerAndroid::GetKnownCategoryGroupsAsync(JNIEnv* env,
+ jobject obj) {
+ if (!TracingController::GetInstance()->GetCategories(
+ base::Bind(&TracingControllerAndroid::OnKnownCategoriesReceived,
+ weak_factory_.GetWeakPtr()))) {
+ return false;
+ }
+ return true;
+}
+
+void TracingControllerAndroid::OnKnownCategoriesReceived(
+ const std::set<std::string>& categories_received) {
Xianzhu 2014/05/05 16:32:21 As the Java side doesn't actually need the categor
r.kasibhatla 2014/05/06 11:04:06 Done.
+ JNIEnv* env = base::android::AttachCurrentThread();
+
+ scoped_ptr<base::ListValue> category_list(new base::ListValue());
+ for (std::set<std::string>::const_iterator it = categories_received.begin();
+ it != categories_received.end();
+ ++it) {
+ category_list->AppendString(*it);
+ }
+ base::RefCountedString* res = new base::RefCountedString();
+ base::JSONWriter::Write(category_list.get(), &res->data());
+
+ std::string received_category_list = res->data();
+ jstring category_list_as_json_string = base::android::ConvertUTF8ToJavaString(
+ env, received_category_list).Release();
+ base::android::ScopedJavaLocalRef<jobject> obj = weak_java_object_.get(env);
+ if (obj.obj())
+ Java_TracingControllerAndroid_onCategoryGroupsReceived(
+ env, obj.obj(), category_list_as_json_string);
+}
+
static jstring GetDefaultCategories(JNIEnv* env, jobject obj) {
return base::android::ConvertUTF8ToJavaString(env,
base::debug::CategoryFilter::kDefaultCategoryFilterString).Release();

Powered by Google App Engine
This is Rietveld 408576698