1#!/bin/bash
2#
3# Copyright (c) 2012 The Chromium Authors. All rights reserved.
4# Use of this source code is governed by a BSD-style license that can be
5# found in the LICENSE file.
6
7# If no flags are given, prints the current content shell flags.
8#
9# Otherwise, the given flags are used to REPLACE (not modify) the content shell
10# flags. For example:
11#   adb_content_shell_command_line --enable-webgl
12#
13# To remove all content shell flags, pass an empty string for the flags:
14#   adb_content_shell_command_line ""
15
16CMD_LINE_FILE=/data/local/tmp/content-shell-command-line
17
18if [ $# -eq 0 ] ; then
19  # If nothing specified, print the command line (stripping off "content_shell")
20  tempfile=$(tempfile)
21  adb pull $CMD_LINE_FILE $tempfile 2>/dev/null
22  if [ $? -eq 0 ] ; then
23    rm $tempfile
24    adb shell cat $CMD_LINE_FILE | cut -d " " -f "2-" 2>/dev/null
25  fi
26elif [ $# -eq 1 ] && [ "$1" = '' ] ; then
27  # If given an empty string, delete the command line.
28  set -x
29  adb shell rm $CMD_LINE_FILE >/dev/null
30else
31  # Else set it.
32  set -x
33  adb shell "echo 'content_shell $*' > $CMD_LINE_FILE"
34  # Prevent other apps from modifying flags -- this can create security issues.
35  adb shell chmod 0664 $CMD_LINE_FILE
36fi
37
38