Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(40)

Side by Side Diff: chrome/common/extensions/permissions/permissions_data.cc

Issue 49333004: Make app APIs implicit within _api_features.json not _permission_features.json. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: delete component extension granting Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 561 matching lines...) Expand 10 before | Expand all | Expand 10 after
572 bool PermissionsData::ParsePermissions(Extension* extension, string16* error) { 572 bool PermissionsData::ParsePermissions(Extension* extension, string16* error) {
573 initial_required_permissions_.reset(new InitialPermissions); 573 initial_required_permissions_.reset(new InitialPermissions);
574 if (!ParseHelper(extension, 574 if (!ParseHelper(extension,
575 keys::kPermissions, 575 keys::kPermissions,
576 &initial_required_permissions_->api_permissions, 576 &initial_required_permissions_->api_permissions,
577 &initial_required_permissions_->host_permissions, 577 &initial_required_permissions_->host_permissions,
578 error)) { 578 error)) {
579 return false; 579 return false;
580 } 580 }
581 581
582 // TODO(jeremya/kalman) do this via the features system by exposing the
583 // app.window API to platform apps, with no dependency on any permissions.
584 // See http://crbug.com/120069.
585 if (extension->is_platform_app()) {
586 initial_required_permissions_->api_permissions.insert(
587 APIPermission::kAppCurrentWindowInternal);
588 initial_required_permissions_->api_permissions.insert(
589 APIPermission::kAppRuntime);
590 initial_required_permissions_->api_permissions.insert(
591 APIPermission::kAppWindow);
592 }
593
594 initial_optional_permissions_.reset(new InitialPermissions); 582 initial_optional_permissions_.reset(new InitialPermissions);
595 if (!ParseHelper(extension, 583 if (!ParseHelper(extension,
596 keys::kOptionalPermissions, 584 keys::kOptionalPermissions,
597 &initial_optional_permissions_->api_permissions, 585 &initial_optional_permissions_->api_permissions,
598 &initial_optional_permissions_->host_permissions, 586 &initial_optional_permissions_->host_permissions,
599 error)) { 587 error)) {
600 return false; 588 return false;
601 } 589 }
602 590
603 return true; 591 return true;
(...skipping 13 matching lines...) Expand all
617 optional_permission_set_ = new PermissionSet( 605 optional_permission_set_ = new PermissionSet(
618 initial_optional_permissions_->api_permissions, 606 initial_optional_permissions_->api_permissions,
619 initial_optional_permissions_->host_permissions, 607 initial_optional_permissions_->host_permissions,
620 URLPatternSet()); 608 URLPatternSet());
621 609
622 initial_required_permissions_.reset(); 610 initial_required_permissions_.reset();
623 initial_optional_permissions_.reset(); 611 initial_optional_permissions_.reset();
624 } 612 }
625 613
626 } // namespace extensions 614 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698