Home | History | Annotate | Download | only in java
      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 (a] gmail.com,ipc.invalidation (a] 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