1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_UI_VIEWS_APPS_APP_INFO_DIALOG_APP_INFO_PERMISSIONS_TAB_H_
6 #define CHROME_BROWSER_UI_VIEWS_APPS_APP_INFO_DIALOG_APP_INFO_PERMISSIONS_TAB_H_
8 #include "chrome/browser/ui/views/apps/app_info_dialog/app_info_tab.h"
9 #include "ui/gfx/native_widget_types.h"
13 namespace extensions {
21 // The Permissions tab of the app info dialog, which provides insight and
22 // control over the app's various permissions.
23 class AppInfoPermissionsTab : public AppInfoTab {
25 AppInfoPermissionsTab(gfx::NativeWindow parent_window,
27 const extensions::Extension* app,
28 const base::Closure& close_callback);
30 virtual ~AppInfoPermissionsTab();
33 FRIEND_TEST_ALL_PREFIXES(AppInfoPermissionsTabTest,
34 NoPermissionsObtainedCorrectly);
35 FRIEND_TEST_ALL_PREFIXES(AppInfoPermissionsTabTest,
36 RequiredPermissionsObtainedCorrectly);
37 FRIEND_TEST_ALL_PREFIXES(AppInfoPermissionsTabTest,
38 OptionalPermissionsObtainedCorrectly);
39 FRIEND_TEST_ALL_PREFIXES(AppInfoPermissionsTabTest,
40 RetainedFilePermissionsObtainedCorrectly);
42 // Overridden from views::View:
43 virtual void Layout() OVERRIDE;
45 const extensions::PermissionSet* GetRequiredPermissions() const;
46 const std::vector<base::string16> GetRequiredPermissionMessages() const;
48 const extensions::PermissionSet* GetOptionalPermissions() const;
49 const std::vector<base::string16> GetOptionalPermissionMessages() const;
51 const std::vector<base::FilePath> GetRetainedFilePermissions() const;
52 const std::vector<base::string16> GetRetainedFilePermissionMessages() const;
54 views::ScrollView* scroll_view_;
56 DISALLOW_COPY_AND_ASSIGN(AppInfoPermissionsTab);
59 #endif // CHROME_BROWSER_UI_VIEWS_APPS_APP_INFO_DIALOG_APP_INFO_PERMISSIONS_TAB_H_