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

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: fix messaging test 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 564 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698