OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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/common/extensions/permissions/permissions_data.h" | 5 #include "chrome/common/extensions/permissions/permissions_data.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/strings/string16.h" | 9 #include "base/strings/string16.h" |
10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
(...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
575 bool PermissionsData::ParsePermissions(Extension* extension, string16* error) { | 575 bool PermissionsData::ParsePermissions(Extension* extension, string16* error) { |
576 initial_required_permissions_.reset(new InitialPermissions); | 576 initial_required_permissions_.reset(new InitialPermissions); |
577 if (!ParseHelper(extension, | 577 if (!ParseHelper(extension, |
578 keys::kPermissions, | 578 keys::kPermissions, |
579 &initial_required_permissions_->api_permissions, | 579 &initial_required_permissions_->api_permissions, |
580 &initial_required_permissions_->host_permissions, | 580 &initial_required_permissions_->host_permissions, |
581 error)) { | 581 error)) { |
582 return false; | 582 return false; |
583 } | 583 } |
584 | 584 |
585 // TODO(jeremya/kalman) do this via the features system by exposing the | |
586 // app.window API to platform apps, with no dependency on any permissions. | |
587 // See http://crbug.com/120069. | |
588 if (extension->is_platform_app()) { | |
589 initial_required_permissions_->api_permissions.insert( | |
590 APIPermission::kAppCurrentWindowInternal); | |
591 initial_required_permissions_->api_permissions.insert( | |
592 APIPermission::kAppRuntime); | |
593 initial_required_permissions_->api_permissions.insert( | |
594 APIPermission::kAppWindow); | |
595 } | |
596 | |
597 initial_optional_permissions_.reset(new InitialPermissions); | 585 initial_optional_permissions_.reset(new InitialPermissions); |
598 if (!ParseHelper(extension, | 586 if (!ParseHelper(extension, |
599 keys::kOptionalPermissions, | 587 keys::kOptionalPermissions, |
600 &initial_optional_permissions_->api_permissions, | 588 &initial_optional_permissions_->api_permissions, |
601 &initial_optional_permissions_->host_permissions, | 589 &initial_optional_permissions_->host_permissions, |
602 error)) { | 590 error)) { |
603 return false; | 591 return false; |
604 } | 592 } |
605 | 593 |
606 return true; | 594 return true; |
(...skipping 13 matching lines...) Expand all Loading... |
620 optional_permission_set_ = new PermissionSet( | 608 optional_permission_set_ = new PermissionSet( |
621 initial_optional_permissions_->api_permissions, | 609 initial_optional_permissions_->api_permissions, |
622 initial_optional_permissions_->host_permissions, | 610 initial_optional_permissions_->host_permissions, |
623 URLPatternSet()); | 611 URLPatternSet()); |
624 | 612 |
625 initial_required_permissions_.reset(); | 613 initial_required_permissions_.reset(); |
626 initial_optional_permissions_.reset(); | 614 initial_optional_permissions_.reset(); |
627 } | 615 } |
628 | 616 |
629 } // namespace extensions | 617 } // namespace extensions |
OLD | NEW |