| 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 |