1 <?xml version="1.0" encoding="utf-8"?>
3 <!-- Copyright (c) 2012 The Chromium Authors. All rights reserved.
5 Use of this source code is governed by a BSD-style license that can be
6 found in the LICENSE file.
9 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
10 package="org.chromium.chrome.testshell">
12 <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" />
13 <permission android:name="org.chromium.chrome.testshell.permission.SANDBOX"
14 android:protectionLevel="signature" />
15 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
16 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
17 <uses-permission android:name="android.permission.CAMERA" />
18 <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
19 <uses-permission android:name="android.permission.INTERNET"/>
20 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
21 <uses-permission android:name="android.permission.RECORD_AUDIO"/>
22 <uses-permission android:name="android.permission.VIBRATE"/>
23 <uses-permission android:name="android.permission.WAKE_LOCK"/>
24 <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
25 <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
26 <uses-permission android:name="android.permission.USE_CREDENTIALS" />
27 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
28 <!-- Only Chrome can receive the messages and registration result for GCM -->
29 <permission android:name="org.chromium.chrome.testshell.permission.C2D_MESSAGE"
30 android:protectionLevel="signature" />
31 <uses-permission android:name="org.chromium.chrome.testshell.permission.C2D_MESSAGE" />
32 <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
34 <application android:name="org.chromium.chrome.testshell.ChromiumTestShellApplication"
35 android:icon="@mipmap/app_icon"
36 android:label="Chrome Shell">
37 <activity android:name="org.chromium.chrome.testshell.ChromiumTestShellActivity"
38 android:launchMode="singleTask"
39 android:theme="@android:style/Theme.Holo.Light.NoActionBar"
40 android:configChanges="orientation|keyboardHidden|keyboard|screenSize"
41 android:hardwareAccelerated="true">
43 <action android:name="android.intent.action.MAIN" />
44 <category android:name="android.intent.category.LAUNCHER" />
47 <activity android:name="org.chromium.sync.test.util.MockGrantCredentialsPermissionActivity"
48 android:exported="true">
50 <action android:name="android.intent.action.VIEW" />
51 <category android:name="android.intent.category.DEFAULT" />
54 <!-- The following service entries exist in order to allow us to
55 start more than one sandboxed process. -->
57 <!-- NOTE: If you change the values of "android:process" for any of the below services,
58 you also need to update kHelperProcessExecutableName in chrome_constants.cc. -->
59 <service android:name="org.chromium.content.app.SandboxedProcessService0"
60 android:process=":sandboxed_process0"
61 android:permission="org.chromium.content_shell.permission.SANDBOX"
62 android:isolatedProcess="true"
63 android:exported="false" />
64 <service android:name="org.chromium.content.app.SandboxedProcessService1"
65 android:process=":sandboxed_process1"
66 android:permission="org.chromium.content_shell.permission.SANDBOX"
67 android:isolatedProcess="true"
68 android:exported="false" />
69 <service android:name="org.chromium.content.app.SandboxedProcessService2"
70 android:process=":sandboxed_process2"
71 android:permission="org.chromium.content_shell.permission.SANDBOX"
72 android:isolatedProcess="true"
73 android:exported="false" />
74 <service android:name="org.chromium.content.app.SandboxedProcessService3"
75 android:process=":sandboxed_process3"
76 android:permission="org.chromium.content_shell.permission.SANDBOX"
77 android:isolatedProcess="true"
78 android:exported="false" />
79 <service android:name="org.chromium.content.app.SandboxedProcessService4"
80 android:process=":sandboxed_process4"
81 android:permission="org.chromium.content_shell.permission.SANDBOX"
82 android:isolatedProcess="true"
83 android:exported="false" />
84 <service android:name="org.chromium.content.app.SandboxedProcessService5"
85 android:process=":sandboxed_process5"
86 android:permission="org.chromium.content_shell.permission.SANDBOX"
87 android:isolatedProcess="true"
88 android:exported="false" />
89 <service android:name="org.chromium.content.app.SandboxedProcessService6"
90 android:process=":sandboxed_process6"
91 android:permission="org.chromium.content_shell.permission.SANDBOX"
92 android:isolatedProcess="true"
93 android:exported="false" />
94 <service android:name="org.chromium.content.app.SandboxedProcessService7"
95 android:process=":sandboxed_process7"
96 android:permission="org.chromium.content_shell.permission.SANDBOX"
97 android:isolatedProcess="true"
98 android:exported="false" />
99 <service android:name="org.chromium.content.app.SandboxedProcessService8"
100 android:process=":sandboxed_process8"
101 android:permission="org.chromium.content_shell.permission.SANDBOX"
102 android:isolatedProcess="true"
103 android:exported="false" />
104 <service android:name="org.chromium.content.app.SandboxedProcessService9"
105 android:process=":sandboxed_process9"
106 android:permission="org.chromium.content_shell.permission.SANDBOX"
107 android:isolatedProcess="true"
108 android:exported="false" />
109 <service android:name="org.chromium.content.app.SandboxedProcessService10"
110 android:process=":sandboxed_process10"
111 android:permission="org.chromium.content_shell.permission.SANDBOX"
112 android:isolatedProcess="true"
113 android:exported="false" />
114 <service android:name="org.chromium.content.app.SandboxedProcessService11"
115 android:process=":sandboxed_process11"
116 android:permission="org.chromium.content_shell.permission.SANDBOX"
117 android:isolatedProcess="true"
118 android:exported="false" />
119 <service android:name="org.chromium.content.app.SandboxedProcessService12"
120 android:process=":sandboxed_process12"
121 android:permission="org.chromium.content_shell.permission.SANDBOX"
122 android:isolatedProcess="true"
123 android:exported="false" />
125 <!-- Receiver for GCM messages. Rebroadcasts them locally for sync. -->
126 <receiver android:exported="true"
127 android:name="com.google.ipc.invalidation.external.client.contrib.MultiplexingGcmListener$GCMReceiver"
128 android:permission="com.google.android.c2dm.permission.SEND">
130 <action android:name="com.google.android.c2dm.intent.RECEIVE" />
131 <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
132 <category android:name="org.chromium.chrome.testshell"/>
135 <service android:exported="false"
136 android:name="com.google.ipc.invalidation.external.client.contrib.MultiplexingGcmListener">
137 <meta-data android:name="sender_ids"
138 android:value="cloudprint.c2dm@gmail.com,ipc.invalidation@gmail.com"/>
141 <!-- Notification service for sync. -->
142 <meta-data android:name="ipc.invalidation.ticl.listener_service_class"
143 android:value="org.chromium.sync.notifier.InvalidationService"/>
144 <service android:name="org.chromium.sync.notifier.InvalidationService"
145 android:exported="false">
147 <action android:name="com.google.ipc.invalidation.AUTH_TOKEN_REQUEST"/>
150 <service android:exported="false"
151 android:name="com.google.ipc.invalidation.ticl.android2.TiclService"/>
152 <service android:exported="false"
153 android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageSenderService"/>
154 <receiver android:exported="false"
155 android:name="com.google.ipc.invalidation.ticl.android2.AndroidInternalScheduler$AlarmReceiver"/>
156 <receiver android:exported="false"
157 android:name="com.google.ipc.invalidation.external.client.contrib.AndroidListener$AlarmReceiver"/>
159 <!-- Notification service multiplexed GCM receiver -->
160 <service android:exported="false"
161 android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageReceiverService"
162 android:enabled="true"/>
163 <receiver android:exported="false"
164 android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageReceiverService$Receiver">
166 <action android:name="com.google.ipc.invalidation.gcmmplex.EVENT" />
170 <provider android:name="org.chromium.chrome.browser.ChromeBrowserProvider"
171 android:authorities="org.chromium.chrome.testshell"
172 android:exported="true" />
174 <!-- Sync adapter for browser sync. -->
175 <service android:exported="false"
176 android:name="org.chromium.chrome.testshell.sync.ChromiumTestShellSyncAdapterService">
178 <action android:name="android.content.SyncAdapter" />
180 <meta-data android:name="android.content.SyncAdapter"
181 android:resource="@xml/syncadapter" />
184 <!-- Broadcast receiver that will be notified of account changes. -->
185 <receiver android:name="org.chromium.chrome.testshell.signin.AccountsChangedReceiver">
187 <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />