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 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
430 // This is risky, but blocking extensions just because they declare | 430 // This is risky, but blocking extensions just because they declare |
431 // clipboardRead is unfortunate. Options: (1) Make clipboardRead return | 431 // clipboardRead is unfortunate. Options: (1) Make clipboardRead return |
432 // empty string (2) confirmation dialog. | 432 // empty string (2) confirmation dialog. |
433 // "clipboardRead", | 433 // "clipboardRead", |
434 | 434 |
435 // Writing to clipboard is safe. | 435 // Writing to clipboard is safe. |
436 "clipboardWrite", | 436 "clipboardWrite", |
437 | 437 |
438 "contentSettings", | 438 "contentSettings", |
439 | 439 |
440 // Provides access to URLs. | 440 // Privacy sensitive URL access. |
441 "contextMenus", | 441 // "contextMenus", |
442 | 442 |
443 // This would provie access to auth cookies, so needs to be blocked. | 443 // This would provie access to auth cookies, so needs to be blocked. |
444 // "cookies", | 444 // "cookies", |
445 | 445 |
446 // Provides access to the DOM, so block. | 446 // Provides access to the DOM, so block. |
447 // "debugger", | 447 // "debugger", |
448 | 448 |
449 // This is mostly fine, but has a RequestContentScript action that'd allow | 449 // This is mostly fine, but has a RequestContentScript action that'd allow |
450 // access to page content, which we can't allow. | 450 // access to page content, which we can't allow. |
451 // "declarativeContent", | 451 // "declarativeContent", |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
505 "gcm", | 505 "gcm", |
506 | 506 |
507 // It's fair game for a kiosk device owner to locate their device. Could | 507 // It's fair game for a kiosk device owner to locate their device. Could |
508 // just as well do this via IP-geolocation mechanism, so little difference. | 508 // just as well do this via IP-geolocation mechanism, so little difference. |
509 "geolocation", | 509 "geolocation", |
510 | 510 |
511 // Somewhat risky as this opens up the ability to intercept user input. | 511 // Somewhat risky as this opens up the ability to intercept user input. |
512 // However, keyboards and mice are apparently not surfaced via this API. | 512 // However, keyboards and mice are apparently not surfaced via this API. |
513 "hid", | 513 "hid", |
514 | 514 |
515 // Just URLs and meta data. | 515 // Privacy sensitive URL access. |
516 "history", | 516 // "history", |
517 | 517 |
518 // Not really useful as there's no signed-in user, so OK to allow. | 518 // Not really useful as there's no signed-in user, so OK to allow. |
519 "identity", | 519 "identity", |
520 | 520 |
521 "identity.email", | 521 "identity.email", |
522 | 522 |
523 // Detection of idle state. | 523 // Detection of idle state. |
524 "idle", | 524 "idle", |
525 | 525 |
526 // IME extensions see keystrokes. This might be useful though, might rely on | 526 // IME extensions see keystrokes. This might be useful though, might rely on |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
591 | 591 |
592 // Looking at the code, this feature is declared but used nowhere. | 592 // Looking at the code, this feature is declared but used nowhere. |
593 // "screensaver", | 593 // "screensaver", |
594 | 594 |
595 // Access serial port. It's hard to conceive a case in which private data | 595 // Access serial port. It's hard to conceive a case in which private data |
596 // is stored on a serial device and being read without the user's consent. | 596 // is stored on a serial device and being read without the user's consent. |
597 // Minor risk of intercepting input events from serial input devices - given | 597 // Minor risk of intercepting input events from serial input devices - given |
598 // that serial input devices are exceedingly rare, OK to allow. | 598 // that serial input devices are exceedingly rare, OK to allow. |
599 "serial", | 599 "serial", |
600 | 600 |
601 // Access to URLs. | 601 // Privacy sensitive URL access. |
602 "sessions", | 602 // "sessions", |
603 | 603 |
604 "socket", | 604 "socket", |
605 | 605 |
606 // Per-app sandbox. User cannot log into Public Session, thus storage | 606 // Per-app sandbox. User cannot log into Public Session, thus storage |
607 // cannot be sync'ed to the cloud. | 607 // cannot be sync'ed to the cloud. |
608 "storage", | 608 "storage", |
609 | 609 |
610 // Not very useful since no signed-in user. | 610 // Not very useful since no signed-in user. |
611 "syncFileSystem", | 611 "syncFileSystem", |
612 | 612 |
613 // Returns CPU parameters. | 613 // Returns CPU parameters. |
614 "system.cpu", | 614 "system.cpu", |
615 | 615 |
616 // Display parameters query/manipulation. | 616 // Display parameters query/manipulation. |
617 "system.display", | 617 "system.display", |
618 | 618 |
619 // Memory parameters access. | 619 // Memory parameters access. |
620 "system.memory", | 620 "system.memory", |
621 | 621 |
622 // Enumerates network interfaces. | 622 // Enumerates network interfaces. |
623 "system.network", | 623 "system.network", |
624 | 624 |
625 // Enumerates removable storage. | 625 // Enumerates removable storage. |
626 "system.storage", | 626 "system.storage", |
627 | 627 |
628 // Provides access to screen contents, so block. Alternatively, (1) prompt | 628 // Provides access to screen contents, so block. Alternatively, (1) prompt |
629 // for user consent or (2) return blank capture. | 629 // for user consent or (2) return blank capture. |
630 // "tabCapture", | 630 // "tabCapture", |
631 | 631 |
632 // URLs and page titles. | 632 // Privacy sensitive URL access. |
633 "tabs", | 633 // "tabs", |
634 | 634 |
635 // URLs and page titles. | 635 // Privacy sensitive URL access. |
636 "topSites", | 636 // "topSites", |
637 | 637 |
638 // Allows to generate TTS, but no content access. Just UX. | 638 // Allows to generate TTS, but no content access. Just UX. |
639 "tts", | 639 "tts", |
640 | 640 |
641 // Might need this, but has content access. Manual whitelisting? | 641 // Might need this, but has content access. Manual whitelisting? |
642 // "ttsEngine", | 642 // "ttsEngine", |
643 | 643 |
644 // Excessive resource usage is not a risk. | 644 // Excessive resource usage is not a risk. |
645 "unlimitedStorage", | 645 "unlimitedStorage", |
646 | 646 |
647 // Plugging the USB device is sufficient as consent gesture. | 647 // Plugging the USB device is sufficient as consent gesture. |
648 "usb", | 648 "usb", |
649 | 649 |
650 // Belongs to the USB API. | 650 // Belongs to the USB API. |
651 "usbDevices", | 651 "usbDevices", |
652 | 652 |
653 // Need to surface notification to the user. Check what existing UI we have | 653 // Need to surface notification to the user. Check what existing UI we have |
654 // and whether that's sufficient for PS. | 654 // and whether that's sufficient for PS. |
655 // "videoCapture", | 655 // "videoCapture", |
656 | 656 |
657 // Admin controls network config anyways. | 657 // Admin controls network config anyways. |
658 "vpnProvider", | 658 "vpnProvider", |
659 | 659 |
660 // Just UX. | 660 // Just UX. |
661 "wallpaper", | 661 "wallpaper", |
662 | 662 |
663 // Access to URLs. | 663 // Privacy sensitive URL access. |
664 "webNavigation", | 664 // "webNavigation", |
665 | 665 |
666 // Provides access to cookies and form upload data. Options: (1) block, | 666 // Provides access to cookies and form upload data. Options: (1) block, |
667 // (2) strip all content in events. | 667 // (2) strip all content in events. |
668 // "webRequest", | 668 // "webRequest", |
669 | 669 |
670 // Fine once webRequest is adjusted. | 670 // Fine once webRequest is adjusted. |
671 // "webRequestBlocking", | 671 // "webRequestBlocking", |
672 | 672 |
673 // This allows content scripts and capturing. However, the webview runs | 673 // This allows content scripts and capturing. However, the webview runs |
674 // within a separate storage partition, i.e. doesn't share cookies and other | 674 // within a separate storage partition, i.e. doesn't share cookies and other |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
927 if (error) { | 927 if (error) { |
928 *error = l10n_util::GetStringFUTF16( | 928 *error = l10n_util::GetStringFUTF16( |
929 IDS_EXTENSION_CANT_INSTALL_IN_DEVICE_LOCAL_ACCOUNT, | 929 IDS_EXTENSION_CANT_INSTALL_IN_DEVICE_LOCAL_ACCOUNT, |
930 base::UTF8ToUTF16(extension->name()), | 930 base::UTF8ToUTF16(extension->name()), |
931 base::UTF8ToUTF16(extension->id())); | 931 base::UTF8ToUTF16(extension->id())); |
932 } | 932 } |
933 return false; | 933 return false; |
934 } | 934 } |
935 | 935 |
936 } // namespace chromeos | 936 } // namespace chromeos |
OLD | NEW |