| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/chromeos/extensions/device_local_account_management_pol
icy_provider.h" | 5 #include "chrome/browser/chromeos/extensions/device_local_account_management_pol
icy_provider.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <cstddef> | 9 #include <cstddef> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 // Apps/extensions explicitly whitelisted for use in public sessions. | 29 // Apps/extensions explicitly whitelisted for use in public sessions. |
| 30 const char* const kPublicSessionWhitelist[] = { | 30 const char* const kPublicSessionWhitelist[] = { |
| 31 // Public sessions in general: | 31 // Public sessions in general: |
| 32 "cbkkbcmdlboombapidmoeolnmdacpkch", // Chrome RDP | 32 "cbkkbcmdlboombapidmoeolnmdacpkch", // Chrome RDP |
| 33 "djflhoibgkdhkhhcedjiklpkjnoahfmg", // User Agent Switcher | 33 "djflhoibgkdhkhhcedjiklpkjnoahfmg", // User Agent Switcher |
| 34 "iabmpiboiopbgfabjmgeedhcmjenhbla", // VNC Viewer | 34 "iabmpiboiopbgfabjmgeedhcmjenhbla", // VNC Viewer |
| 35 "haiffjcadagjlijoggckpgfnoeiflnem", // Citrix Receiver | 35 "haiffjcadagjlijoggckpgfnoeiflnem", // Citrix Receiver |
| 36 "lfnfbcjdepjffcaiagkdmlmiipelnfbb", // Citrix Receiver (branded) | 36 "lfnfbcjdepjffcaiagkdmlmiipelnfbb", // Citrix Receiver (branded) |
| 37 "mfaihdlpglflfgpfjcifdjdjcckigekc", // ARC Runtime | 37 "mfaihdlpglflfgpfjcifdjdjcckigekc", // ARC Runtime |
| 38 "ngjnkanfphagcaokhjecbgkboelgfcnf", // Print button | 38 "ngjnkanfphagcaokhjecbgkboelgfcnf", // Print button |
| 39 "gbchcmhmhahfdphkhkmpfmihenigjmpp", // Chrome Remote Desktop | |
| 40 "cjanmonomjogheabiocdamfpknlpdehm", // HP printer driver | 39 "cjanmonomjogheabiocdamfpknlpdehm", // HP printer driver |
| 41 "ioofdkhojeeimmagbjbknkejkgbphdfl", // RICOH Print for Chrome | 40 "ioofdkhojeeimmagbjbknkejkgbphdfl", // RICOH Print for Chrome |
| 42 "pmnllmkmjilbojkpgplbdmckghmaocjh", // Scan app by François Beaufort | 41 "pmnllmkmjilbojkpgplbdmckghmaocjh", // Scan app by François Beaufort |
| 43 "khpfeaanjngmcnplbdlpegiifgpfgdco", // Smart Card Connector App | |
| 44 "haeblkpifdemlfnkogkipmghfcbonief", // Charismathics Smart Card Middleware | 42 "haeblkpifdemlfnkogkipmghfcbonief", // Charismathics Smart Card Middleware |
| 45 "mpnkhdpphjiihmlmkcamhpogecnnfffa", // Service NSW Kiosk Utility | 43 "mpnkhdpphjiihmlmkcamhpogecnnfffa", // Service NSW Kiosk Utility |
| 46 | 44 |
| 47 // Libraries: | 45 // Libraries: |
| 48 "aclofikceldphonlfmghmimkodjdmhck", // Ancoris login component | 46 "aclofikceldphonlfmghmimkodjdmhck", // Ancoris login component |
| 49 "eilbnahdgoddoedakcmfkcgfoegeloil", // Ancoris proxy component | 47 "eilbnahdgoddoedakcmfkcgfoegeloil", // Ancoris proxy component |
| 50 "ceehlgckkmkaoggdnjhibffkphfnphmg", // Libdata login | 48 "ceehlgckkmkaoggdnjhibffkphfnphmg", // Libdata login |
| 51 "fnhgfoccpcjdnjcobejogdnlnidceemb", // OverDrive | 49 "fnhgfoccpcjdnjcobejogdnlnidceemb", // OverDrive |
| 52 | 50 |
| 53 // Education: | 51 // Education: |
| 54 "cmeclblmdmffdgpdlifgepjddoplmmal", // Imagine Learning | 52 "cmeclblmdmffdgpdlifgepjddoplmmal", // Imagine Learning |
| 55 | 53 |
| 56 // Retail mode: | 54 // Retail mode: |
| 57 "bjfeaefhaooblkndnoabbkkkenknkemb", // 500 px demo | 55 "bjfeaefhaooblkndnoabbkkkenknkemb", // 500 px demo |
| 58 "ehcabepphndocfmgbdkbjibfodelmpbb", // Angry Birds demo | 56 "ehcabepphndocfmgbdkbjibfodelmpbb", // Angry Birds demo |
| 59 "kgimkbnclbekdkabkpjhpakhhalfanda", // Bejeweled demo | 57 "kgimkbnclbekdkabkpjhpakhhalfanda", // Bejeweled demo |
| 60 "joodangkbfjnajiiifokapkpmhfnpleo", // Calculator | 58 "joodangkbfjnajiiifokapkpmhfnpleo", // Calculator |
| 61 "fpgfohogebplgnamlafljlcidjedbdeb", // Calendar demo | 59 "fpgfohogebplgnamlafljlcidjedbdeb", // Calendar demo |
| 62 "hfhhnacclhffhdffklopdkcgdhifgngh", // Camera | |
| 63 "cdjikkcakjcdjemakobkmijmikhkegcj", // Chrome Remote Desktop demo | 60 "cdjikkcakjcdjemakobkmijmikhkegcj", // Chrome Remote Desktop demo |
| 64 "jkoildpomkimndcphjpffmephmcmkfhn", // Chromebook Demo App | 61 "jkoildpomkimndcphjpffmephmcmkfhn", // Chromebook Demo App |
| 65 "lbhdhapagjhalobandnbdnmblnmocojh", // Crackle demo | 62 "lbhdhapagjhalobandnbdnmblnmocojh", // Crackle demo |
| 66 "ielkookhdphmgbipcfmafkaiagademfp", // Custom bookmarks | 63 "ielkookhdphmgbipcfmafkaiagademfp", // Custom bookmarks |
| 67 "kogjlbfgggambihdjcpijgcbmenblimd", // Custom bookmarks | 64 "kogjlbfgggambihdjcpijgcbmenblimd", // Custom bookmarks |
| 68 "ogbkmlkceflgpilgbmbcfbifckpkfacf", // Custom bookmarks | 65 "ogbkmlkceflgpilgbmbcfbifckpkfacf", // Custom bookmarks |
| 69 "pbbbjjecobhljkkcenlakfnkmkfkfamd", // Custom bookmarks | 66 "pbbbjjecobhljkkcenlakfnkmkfkfamd", // Custom bookmarks |
| 70 "jkbfjmnjcdmhlfpephomoiipbhcoiffb", // Custom bookmarks | 67 "jkbfjmnjcdmhlfpephomoiipbhcoiffb", // Custom bookmarks |
| 71 "dgmblbpgafgcgpkoiilhjifindhinmai", // Custom bookmarks | 68 "dgmblbpgafgcgpkoiilhjifindhinmai", // Custom bookmarks |
| 72 "iggnealjakkgfofealilhkkclnbnfnmo", // Custom bookmarks | 69 "iggnealjakkgfofealilhkkclnbnfnmo", // Custom bookmarks |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 "biliocemfcghhioihldfdmkkhnofcgmb", // Webcam Toy demo | 111 "biliocemfcghhioihldfdmkkhnofcgmb", // Webcam Toy demo |
| 115 "bhfoghflalnnjfcfkaelngenjgjjhapk", // Wevideo demo | 112 "bhfoghflalnnjfcfkaelngenjgjjhapk", // Wevideo demo |
| 116 "pjckdjlmdcofkkkocnmhcbehkiapalho", // Wunderlist demo | 113 "pjckdjlmdcofkkkocnmhcbehkiapalho", // Wunderlist demo |
| 117 "pbdihpaifchmclcmkfdgffnnpfbobefh", // YouTube demo | 114 "pbdihpaifchmclcmkfdgffnnpfbobefh", // YouTube demo |
| 118 | 115 |
| 119 // Testing extensions: | 116 // Testing extensions: |
| 120 "ongnjlefhnoajpbodoldndkbkdgfomlp", // Show Managed Storage | 117 "ongnjlefhnoajpbodoldndkbkdgfomlp", // Show Managed Storage |
| 121 "ilnpadgckeacioehlommkaafedibdeob", // Enterprise DeviceAttributes | 118 "ilnpadgckeacioehlommkaafedibdeob", // Enterprise DeviceAttributes |
| 122 "oflckobdemeldmjddmlbaiaookhhcngo", // Citrix Receiver QA version | 119 "oflckobdemeldmjddmlbaiaookhhcngo", // Citrix Receiver QA version |
| 123 "ljacajndfccfgnfohlgkdphmbnpkjflk", // Chrome Remote Desktop (Dev Build) | 120 "ljacajndfccfgnfohlgkdphmbnpkjflk", // Chrome Remote Desktop (Dev Build) |
| 121 |
| 122 // Google Apps: |
| 123 "mclkkofklkfljcocdinagocijmpgbhab", // Google input tools |
| 124 "gbkeegbaiigmenfmjfclcdgdpimamgkj", // Office Editing Docs/Sheets/Slides |
| 125 "aapbdbdomjkkjkaonfhkkikfgjllcleb", // Google Translate |
| 126 "mgijmajocgfcbeboacabfgobmjgjcoja", // Google Dictionary |
| 127 "mfhehppjhmmnlfbbopchdfldgimhfhfk", // Google Classroom |
| 128 "mkaakpdehdafacodkgkpghoibnmamcme", // Google Drawings |
| 129 "pnhechapfaindjhompbnflcldabbghjo", // Secure Shell |
| 130 "fcgckldmmjdbpdejkclmfnnnehhocbfp", // Google Finance |
| 131 "jhknlonaankphkkbnmjdlpehkinifeeg", // Google Forms |
| 132 "jndclpdbaamdhonoechobihbbiimdgai", // Chromebook Recovery Utility |
| 133 "aohghmighlieiainnegkcijnfilokake", // Google Docs |
| 134 "eemlkeanncmjljgehlbplemhmdmalhdc", // Chrome Connectivity Diagnostics |
| 135 "eoieeedlomnegifmaghhjnghhmcldobl", // Google Apps Script |
| 136 "ndjpildffkeodjdaeebdhnncfhopkajk", // Network File Share for Chrome OS |
| 137 "pfoeakahkgllhkommkfeehmkfcloagkl", // Fusion Tables |
| 138 "aapocclcgogkmnckokdopfmhonfmgoek", // Google Slides |
| 139 "khpfeaanjngmcnplbdlpegiifgpfgdco", // Smart Card Connector |
| 140 "hmjkmjkepdijhoojdojkdfohbdgmmhki", // Google Keep - notes and lists |
| 141 "felcaaldnbdncclmgdcncolpebgiejap", // Google Sheets |
| 142 "gbchcmhmhahfdphkhkmpfmihenigjmpp", // Chrome Remote Desktop |
| 143 "khkjfddibboofomnlkndfedpoccieiee", // Study Kit |
| 144 "becloognjehhioodmnimnehjcibkloed", // Coding with Chrome |
| 145 "hfhhnacclhffhdffklopdkcgdhifgngh", // Camera |
| 146 "adokjfanaflbkibffcbhihgihpgijcei", // Share to Classroom |
| 147 "heildphpnddilhkemkielfhnkaagiabh", // Legacy Browser Support |
| 148 "lpcaedmchfhocbbapmcbpinfpgnhiddi", // Google Keep Chrome Extension |
| 149 "ldipcbpaocekfooobnbcddclnhejkcpn", // Google Scholar Button |
| 150 "nnckehldicaciogcbchegobnafnjkcne", // Google Tone |
| 151 "pfmgfdlgomnbgkofeojodiodmgpgmkac", // Data Saver |
| 152 "djcfdncoelnlbldjfhinnjlhdjlikmph", // High Contrast |
| 153 "ipkjmjaledkapilfdigkgfmpekpfnkih", // Color Enhancer |
| 154 "kcnhkahnjcbndmmehfkdnkjomaanaooo", // Google Voice |
| 155 "nlbjncdgjeocebhnmkbbbdekmmmcbfjd", // RSS Subscription Extension |
| 156 "aoggjnmghgmcllfenalipjhmooomfdce", // SAML SSO for Chrome Apps |
| 157 "fhndealchbngfhdoncgcokameljahhog", // Certificate Enrollment for Chrome OS |
| 158 "npeicpdbkakmehahjeeohfdhnlpdklia", // WebRTC Network Limiter |
| 124 }; | 159 }; |
| 125 | 160 |
| 126 // List of manifest entries from https://developer.chrome.com/apps/manifest. | 161 // List of manifest entries from https://developer.chrome.com/apps/manifest. |
| 127 // Unsafe entries are commented out and special cases too. | 162 // Unsafe entries are commented out and special cases too. |
| 128 const char* const kSafeManifestEntries[] = { | 163 const char* const kSafeManifestEntries[] = { |
| 129 emk::kAboutPage, | 164 emk::kAboutPage, |
| 130 | 165 |
| 131 // Special-cased in IsSafeForPublicSession(). | 166 // Special-cased in IsSafeForPublicSession(). |
| 132 // emk::kApp, | 167 // emk::kApp, |
| 133 | 168 |
| (...skipping 811 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 945 if (error) { | 980 if (error) { |
| 946 *error = l10n_util::GetStringFUTF16( | 981 *error = l10n_util::GetStringFUTF16( |
| 947 IDS_EXTENSION_CANT_INSTALL_IN_DEVICE_LOCAL_ACCOUNT, | 982 IDS_EXTENSION_CANT_INSTALL_IN_DEVICE_LOCAL_ACCOUNT, |
| 948 base::UTF8ToUTF16(extension->name()), | 983 base::UTF8ToUTF16(extension->name()), |
| 949 base::UTF8ToUTF16(extension->id())); | 984 base::UTF8ToUTF16(extension->id())); |
| 950 } | 985 } |
| 951 return false; | 986 return false; |
| 952 } | 987 } |
| 953 | 988 |
| 954 } // namespace chromeos | 989 } // namespace chromeos |
| OLD | NEW |