• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="utf-8"?>
2
3<!-- Copyright 2014 The Chromium Authors. All rights reserved.
4
5     Use of this source code is governed by a BSD-style license that can be
6     found in the LICENSE file.
7 -->
8
9<manifest xmlns:android="http://schemas.android.com/apk/res/android"
10    package="org.chromium.chrome.shell">
11
12    <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="20" />
13    <permission android:name="org.chromium.chrome.shell.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.ACCESS_WIFI_STATE"/>
18    <uses-permission android:name="android.permission.CAMERA" />
19    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
20    <uses-permission android:name="android.permission.INTERNET"/>
21    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
22    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
23    <uses-permission android:name="android.permission.VIBRATE"/>
24    <uses-permission android:name="android.permission.WAKE_LOCK"/>
25    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
26    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
27    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
28    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
29    <!-- Only Chrome can receive the messages and registration result for GCM -->
30    <permission android:name="org.chromium.chrome.shell.permission.C2D_MESSAGE"
31                android:protectionLevel="signature" />
32    <uses-permission android:name="org.chromium.chrome.shell.permission.C2D_MESSAGE" />
33    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
34
35    <permission android:name="org.chromium.chrome.shell.permission.DEBUG"
36                android:label="Debug web pages in Chrome Shell"
37                android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
38                android:protectionLevel="signature" />
39
40    <application android:name="org.chromium.chrome.shell.ChromeShellApplication"
41            android:icon="@mipmap/app_icon"
42            android:label="Chrome Shell">
43        <activity android:name="org.chromium.chrome.shell.ChromeShellActivity"
44                  android:launchMode="singleTask"
45                  android:theme="@android:style/Theme.Holo.Light.NoActionBar"
46                  android:configChanges="orientation|keyboardHidden|keyboard|screenSize"
47                  android:hardwareAccelerated="true">
48              <intent-filter>
49                  <action android:name="android.intent.action.MAIN" />
50                  <category android:name="android.intent.category.LAUNCHER" />
51              </intent-filter>
52         </activity>
53        <activity android:name="org.chromium.sync.test.util.MockGrantCredentialsPermissionActivity"
54                  android:exported="true">
55            <intent-filter>
56                <action android:name="android.intent.action.VIEW" />
57                <category android:name="android.intent.category.DEFAULT" />
58            </intent-filter>
59        </activity>
60        <!-- The following service entries exist in order to allow us to
61             start more than one sandboxed process. -->
62
63        <!-- NOTE: If you change the values of "android:process" for any of the below services,
64             you also need to update kHelperProcessExecutableName in chrome_constants.cc. -->
65        <service android:name="org.chromium.content.app.SandboxedProcessService0"
66                 android:process=":sandboxed_process0"
67                 android:permission="org.chromium.content_shell.permission.SANDBOX"
68                 android:isolatedProcess="true"
69                 android:exported="false" />
70        <service android:name="org.chromium.content.app.SandboxedProcessService1"
71                 android:process=":sandboxed_process1"
72                 android:permission="org.chromium.content_shell.permission.SANDBOX"
73                 android:isolatedProcess="true"
74                 android:exported="false" />
75        <service android:name="org.chromium.content.app.SandboxedProcessService2"
76                 android:process=":sandboxed_process2"
77                 android:permission="org.chromium.content_shell.permission.SANDBOX"
78                 android:isolatedProcess="true"
79                 android:exported="false" />
80        <service android:name="org.chromium.content.app.SandboxedProcessService3"
81                 android:process=":sandboxed_process3"
82                 android:permission="org.chromium.content_shell.permission.SANDBOX"
83                 android:isolatedProcess="true"
84                 android:exported="false" />
85        <service android:name="org.chromium.content.app.SandboxedProcessService4"
86                 android:process=":sandboxed_process4"
87                 android:permission="org.chromium.content_shell.permission.SANDBOX"
88                 android:isolatedProcess="true"
89                 android:exported="false" />
90        <service android:name="org.chromium.content.app.SandboxedProcessService5"
91                 android:process=":sandboxed_process5"
92                 android:permission="org.chromium.content_shell.permission.SANDBOX"
93                 android:isolatedProcess="true"
94                 android:exported="false" />
95        <service android:name="org.chromium.content.app.SandboxedProcessService6"
96                 android:process=":sandboxed_process6"
97                 android:permission="org.chromium.content_shell.permission.SANDBOX"
98                 android:isolatedProcess="true"
99                 android:exported="false" />
100        <service android:name="org.chromium.content.app.SandboxedProcessService7"
101                 android:process=":sandboxed_process7"
102                 android:permission="org.chromium.content_shell.permission.SANDBOX"
103                 android:isolatedProcess="true"
104                 android:exported="false" />
105        <service android:name="org.chromium.content.app.SandboxedProcessService8"
106                 android:process=":sandboxed_process8"
107                 android:permission="org.chromium.content_shell.permission.SANDBOX"
108                 android:isolatedProcess="true"
109                 android:exported="false" />
110        <service android:name="org.chromium.content.app.SandboxedProcessService9"
111                 android:process=":sandboxed_process9"
112                 android:permission="org.chromium.content_shell.permission.SANDBOX"
113                 android:isolatedProcess="true"
114                 android:exported="false" />
115        <service android:name="org.chromium.content.app.SandboxedProcessService10"
116                 android:process=":sandboxed_process10"
117                 android:permission="org.chromium.content_shell.permission.SANDBOX"
118                 android:isolatedProcess="true"
119                 android:exported="false" />
120        <service android:name="org.chromium.content.app.SandboxedProcessService11"
121                 android:process=":sandboxed_process11"
122                 android:permission="org.chromium.content_shell.permission.SANDBOX"
123                 android:isolatedProcess="true"
124                 android:exported="false" />
125        <service android:name="org.chromium.content.app.SandboxedProcessService12"
126                 android:process=":sandboxed_process12"
127                 android:permission="org.chromium.content_shell.permission.SANDBOX"
128                 android:isolatedProcess="true"
129                 android:exported="false" />
130        <service android:name="org.chromium.content.app.SandboxedProcessService13"
131                 android:process=":sandboxed_process13"
132                 android:permission="org.chromium.content_shell.permission.SANDBOX"
133                 android:isolatedProcess="true"
134                 android:exported="false" />
135        <service android:name="org.chromium.content.app.SandboxedProcessService14"
136                 android:process=":sandboxed_process14"
137                 android:permission="org.chromium.content_shell.permission.SANDBOX"
138                 android:isolatedProcess="true"
139                 android:exported="false" />
140        <service android:name="org.chromium.content.app.SandboxedProcessService15"
141                 android:process=":sandboxed_process15"
142                 android:permission="org.chromium.content_shell.permission.SANDBOX"
143                 android:isolatedProcess="true"
144                 android:exported="false" />
145        <service android:name="org.chromium.content.app.SandboxedProcessService16"
146                 android:process=":sandboxed_process16"
147                 android:permission="org.chromium.content_shell.permission.SANDBOX"
148                 android:isolatedProcess="true"
149                 android:exported="false" />
150        <service android:name="org.chromium.content.app.SandboxedProcessService17"
151                 android:process=":sandboxed_process17"
152                 android:permission="org.chromium.content_shell.permission.SANDBOX"
153                 android:isolatedProcess="true"
154                 android:exported="false" />
155        <service android:name="org.chromium.content.app.SandboxedProcessService18"
156                 android:process=":sandboxed_process18"
157                 android:permission="org.chromium.content_shell.permission.SANDBOX"
158                 android:isolatedProcess="true"
159                 android:exported="false" />
160        <service android:name="org.chromium.content.app.SandboxedProcessService19"
161                 android:process=":sandboxed_process19"
162                 android:permission="org.chromium.content_shell.permission.SANDBOX"
163                 android:isolatedProcess="true"
164                 android:exported="false" />
165
166        <!-- Receiver for GCM messages. Rebroadcasts them locally for sync. -->
167        <receiver android:exported="true"
168                  android:name="com.google.ipc.invalidation.external.client.contrib.MultiplexingGcmListener$GCMReceiver"
169                  android:permission="com.google.android.c2dm.permission.SEND">
170            <intent-filter>
171                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
172                <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
173                <category android:name="org.chromium.chrome.shell"/>
174            </intent-filter>
175        </receiver>
176        <service android:exported="false"
177                 android:name="com.google.ipc.invalidation.external.client.contrib.MultiplexingGcmListener">
178            <meta-data android:name="sender_ids"
179                       android:value="cloudprint.c2dm@gmail.com,ipc.invalidation@gmail.com"/>
180        </service>
181
182        <!-- Notification service for sync. -->
183        <meta-data android:name="ipc.invalidation.ticl.listener_service_class"
184                   android:value="org.chromium.sync.notifier.InvalidationService"/>
185        <service android:name="org.chromium.sync.notifier.InvalidationService"
186                 android:exported="false">
187            <intent-filter>
188                <action android:name="com.google.ipc.invalidation.AUTH_TOKEN_REQUEST"/>
189            </intent-filter>
190        </service>
191        <service android:exported="false"
192                 android:name="com.google.ipc.invalidation.ticl.android2.TiclService"/>
193        <service android:exported="false"
194                 android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageSenderService"/>
195        <receiver android:exported="false"
196                  android:name="com.google.ipc.invalidation.ticl.android2.AndroidInternalScheduler$AlarmReceiver"/>
197        <receiver android:exported="false"
198                  android:name="com.google.ipc.invalidation.external.client.contrib.AndroidListener$AlarmReceiver"/>
199
200        <!-- Notification service multiplexed GCM receiver -->
201        <service android:exported="false"
202                 android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageReceiverService"
203                 android:enabled="true"/>
204        <receiver android:exported="false"
205                  android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageReceiverService$Receiver">
206            <intent-filter>
207                <action android:name="com.google.ipc.invalidation.gcmmplex.EVENT" />
208            </intent-filter>
209        </receiver>
210
211        <!-- GCMDriver multiplexed GCM receiver -->
212        <service android:exported="false"
213                 android:name="org.chromium.components.gcm_driver.GCMListener"/>
214        <receiver android:exported="false"
215                  android:name="org.chromium.components.gcm_driver.GCMListener$Receiver">
216            <intent-filter>
217                <action android:name="com.google.ipc.invalidation.gcmmplex.EVENT" />
218            </intent-filter>
219        </receiver>
220
221        <provider android:name="org.chromium.chrome.browser.ChromeBrowserProvider"
222                  android:authorities="org.chromium.chrome.shell"
223                  android:exported="true" />
224
225        <!-- Provider for FileProvider. -->
226        <provider android:name="android.support.v4.content.FileProvider"
227            android:authorities="org.chromium.chrome.shell.FileProvider"
228            android:exported="false"
229            android:grantUriPermissions="true">
230            <meta-data android:name="android.support.FILE_PROVIDER_PATHS"
231                android:resource="@xml/file_paths" />
232        </provider>
233
234        <!-- Sync adapter for browser sync. -->
235        <service android:exported="false"
236                 android:name="org.chromium.chrome.shell.sync.ChromeShellSyncAdapterService">
237            <intent-filter>
238                <action android:name="android.content.SyncAdapter" />
239            </intent-filter>
240            <meta-data android:name="android.content.SyncAdapter"
241                       android:resource="@xml/syncadapter" />
242        </service>
243
244        <!-- Broadcast receiver that will be notified of account changes. -->
245        <receiver android:name="org.chromium.chrome.shell.signin.AccountsChangedReceiver">
246            <intent-filter>
247                <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
248            </intent-filter>
249        </receiver>
250        <meta-data android:name="org.chromium.content.browser.SMART_CLIP_PROVIDER"
251                   android:value="org.chromium.content.browser.SmartClipProvider" />
252
253    </application>
254</manifest>
255