| Index: content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java
|
| diff --git a/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java b/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java
|
| index 514ab6ae324d36872a47248a1e149b9712789aa7..0f5122b4778910d906114bc11cb6228ca20a9fec 100644
|
| --- a/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java
|
| +++ b/content/public/android/java/src/org/chromium/content/browser/TracingControllerAndroid.java
|
| @@ -143,11 +143,10 @@ public class TracingControllerAndroid {
|
| /**
|
| * Start profiling to a new file in the Downloads directory.
|
| *
|
| - * Calls #startTracing(String, boolean, String, boolean) with a new timestamped filename.
|
| - * @see #startTracing(String, boolean, String, boolean)
|
| + * Calls #startTracing(String, boolean, String, String) with a new timestamped filename.
|
| + * @see #startTracing(String, boolean, String, String)
|
| */
|
| - public boolean startTracing(boolean showToasts, String categories,
|
| - boolean recordContinuously) {
|
| + public boolean startTracing(boolean showToasts, String categories, String traceOptions) {
|
| mShowToasts = showToasts;
|
|
|
| String filePath = generateTracingFilePath();
|
| @@ -155,7 +154,7 @@ public class TracingControllerAndroid {
|
| logAndToastError(
|
| mContext.getString(R.string.profiler_no_storage_toast));
|
| }
|
| - return startTracing(filePath, showToasts, categories, recordContinuously);
|
| + return startTracing(filePath, showToasts, categories, traceOptions);
|
| }
|
|
|
| private void initializeNativeControllerIfNeeded() {
|
| @@ -177,11 +176,12 @@ public class TracingControllerAndroid {
|
| * notifications about the profiling system.
|
| * @param categories Which categories to trace. See TracingControllerAndroid::BeginTracing()
|
| * (in content/public/browser/trace_controller.h) for the format.
|
| - * @param recordContinuously Record until the user ends the trace. The trace buffer is fixed
|
| - * size and we use it as a ring buffer during recording.
|
| + * @param traceOptions Which trace options to use. See
|
| + * TraceOptions::TraceOptions(const std::string& options_string)
|
| + * (in base/debug/trace_event_impl.h) for the format.
|
| */
|
| public boolean startTracing(String filename, boolean showToasts, String categories,
|
| - boolean recordContinuously) {
|
| + String traceOptions) {
|
| mShowToasts = showToasts;
|
| if (isTracing()) {
|
| // Don't need a toast because this shouldn't happen via the UI.
|
| @@ -191,7 +191,7 @@ public class TracingControllerAndroid {
|
| // Lazy initialize the native side, to allow construction before the library is loaded.
|
| initializeNativeControllerIfNeeded();
|
| if (!nativeStartTracing(mNativeTracingControllerAndroid, categories,
|
| - recordContinuously)) {
|
| + traceOptions.toString())) {
|
| logAndToastError(mContext.getString(R.string.profiler_error_toast));
|
| return false;
|
| }
|
| @@ -290,13 +290,14 @@ public class TracingControllerAndroid {
|
| categories = categories.replaceFirst(
|
| DEFAULT_CHROME_CATEGORIES_PLACE_HOLDER, nativeGetDefaultCategories());
|
| }
|
| - boolean recordContinuously =
|
| - intent.getStringExtra(RECORD_CONTINUOUSLY_EXTRA) != null;
|
| + String traceOptions =
|
| + intent.getStringExtra(RECORD_CONTINUOUSLY_EXTRA) == null ?
|
| + "record-until-full" : "record-continuously";
|
| String filename = intent.getStringExtra(FILE_EXTRA);
|
| if (filename != null) {
|
| - startTracing(filename, true, categories, recordContinuously);
|
| + startTracing(filename, true, categories, traceOptions);
|
| } else {
|
| - startTracing(true, categories, recordContinuously);
|
| + startTracing(true, categories, traceOptions);
|
| }
|
| } else if (intent.getAction().endsWith(ACTION_STOP)) {
|
| stopTracing();
|
| @@ -312,7 +313,7 @@ public class TracingControllerAndroid {
|
| private native long nativeInit();
|
| private native void nativeDestroy(long nativeTracingControllerAndroid);
|
| private native boolean nativeStartTracing(
|
| - long nativeTracingControllerAndroid, String categories, boolean recordContinuously);
|
| + long nativeTracingControllerAndroid, String categories, String traceOptions);
|
| private native void nativeStopTracing(long nativeTracingControllerAndroid, String filename);
|
| private native boolean nativeGetKnownCategoryGroupsAsync(long nativeTracingControllerAndroid);
|
| private native String nativeGetDefaultCategories();
|
|
|