1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90
   91
   92
   93
   94
   95
   96
   97
   98

content / shell / android / shell_apk / AndroidManifest.xml.jinja2 [blame]

<?xml version="1.0" encoding="utf-8"?>

<!--
Copyright 2012 The Chromium Authors
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="{{ manifest_package }}">

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <uses-permission android:name="android.permission.VIBRATE"/>
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    {% block extra_uses_permissions %}
    {% endblock %}

    <application android:name="org.chromium.content_shell_apk.ContentShellApplication"
            android:icon="@mipmap/app_icon"
            android:zygotePreloadName="org.chromium.content_public.app.ZygotePreload"
            android:label="{% block application_label %}Content Shell{% endblock %}">
        <activity android:name="org.chromium.content_shell_apk.ContentShellActivity"
                  android:launchMode="singleTask"
                  android:theme="@android:style/Theme.Holo.Light.NoActionBar"
                  android:configChanges="orientation|keyboardHidden|keyboard|screenSize"
                  android:windowSoftInputMode="adjustResize"
                  android:hardwareAccelerated="true"
                  android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="http" />
                <data android:scheme="https" />
            </intent-filter>
        </activity>
        <!-- The following service entries exist in order to allow us to
             start more than one sandboxed process. -->

        <!-- NOTE: If you change the values of "android:process" for any of the below services,
             you also need to update kHelperProcessExecutableName in chrome_constants.cc. -->
        {% set num_sandboxed_services = 40 %}
        <meta-data android:name="org.chromium.content.browser.NUM_SANDBOXED_SERVICES"
                   android:value="{{ num_sandboxed_services }}"/>
        {% for i in range(num_sandboxed_services) %}
        <service android:name="org.chromium.content.app.SandboxedProcessService{{ i }}"
                 android:process=":sandboxed_process{{ i }}"
                 {% if (i == 0) %}
                 android:useAppZygote="true"
                 {% endif %}
                 android:isolatedProcess="true"
                 android:exported="false" />
        {% endfor %}

        {% set num_privileged_services = 5 %}
        <meta-data android:name="org.chromium.content.browser.NUM_PRIVILEGED_SERVICES"
                   android:value="{{ num_privileged_services }}"/>
        {% for i in range(num_privileged_services) %}
        <service android:name="org.chromium.content.app.PrivilegedProcessService{{ i }}"
                 android:process=":privileged_process{{ i }}"
                 android:isolatedProcess="false"
                 android:exported="false" />
        {% endfor %}
        <meta-data android:name="org.chromium.content.browser.SMART_CLIP_PROVIDER"
                   android:value="org.chromium.content.browser.SmartClipProvider" />

        <service android:name="org.chromium.content_shell_apk.ChildProcessLauncherTestHelperService"
            android:process=":ChildProcessLauncherHelper" />

        <!-- The following entries are for ChildProcessLauncherTest. They should eventually be moved
             to base. -->
        {% set num_test_services = 2 %}
        <meta-data android:name="org.chromium.content.browser.NUM_TEST_SERVICES"
                   android:value="{{ num_test_services }}"/>
        {% for i in range(num_test_services) %}
        <service android:name="org.chromium.content_shell_apk.TestChildProcessService{{ i }}"
                 android:process=":test_child_service_process{{ i }}"
                 android:isolatedProcess="true"
                 android:exported="false" />
        {% endfor %}
        {% block extra_application_definitions_for_test %}
        {% endblock %}

    </application>
    {% block extra_root_definitions %}
    {% endblock %}
</manifest>