1 // Copyright 2015 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 #include "chrome/browser/ui/website_settings/permission_bubble_browser_test_util.h"
7 #include "base/command_line.h"
8 #include "chrome/browser/extensions/extension_browsertest.h"
9 #include "chrome/browser/ui/browser.h"
10 #include "chrome/browser/ui/browser_finder.h"
11 #include "chrome/browser/ui/browser_window.h"
12 #include "chrome/browser/ui/extensions/app_launch_params.h"
13 #include "chrome/browser/ui/extensions/application_launch.h"
14 #include "chrome/browser/ui/tabs/tab_strip_model.h"
15 #include "chrome/browser/ui/website_settings/mock_permission_bubble_request.h"
16 #include "chrome/common/chrome_switches.h"
17 #include "chrome/grit/generated_resources.h"
18 #include "ui/base/l10n/l10n_util.h"
20 TestPermissionBubbleViewDelegate::TestPermissionBubbleViewDelegate()
21 : PermissionBubbleView::Delegate() {
24 PermissionBubbleBrowserTest::PermissionBubbleBrowserTest()
25 : InProcessBrowserTest() {
28 PermissionBubbleBrowserTest::~PermissionBubbleBrowserTest() {
31 void PermissionBubbleBrowserTest::SetUpOnMainThread() {
32 InProcessBrowserTest::SetUpOnMainThread();
34 // Add a single permission request.
35 MockPermissionBubbleRequest
* request
= new MockPermissionBubbleRequest(
36 "Request 1", l10n_util::GetStringUTF8(IDS_PERMISSION_ALLOW
),
37 l10n_util::GetStringUTF8(IDS_PERMISSION_DENY
));
38 requests_
.push_back(request
);
41 PermissionBubbleAppBrowserTest::PermissionBubbleAppBrowserTest()
42 : InProcessBrowserTest(),
43 PermissionBubbleBrowserTest(),
44 ExtensionBrowserTest(),
45 app_browser_(nullptr) {
48 PermissionBubbleAppBrowserTest::~PermissionBubbleAppBrowserTest() {
51 void PermissionBubbleAppBrowserTest::SetUpOnMainThread() {
52 PermissionBubbleBrowserTest::SetUpOnMainThread();
53 ExtensionBrowserTest::SetUpOnMainThread();
56 LoadExtension(test_data_dir_
.AppendASCII("app_with_panel_container/"));
57 ASSERT_TRUE(extension
);
59 app_browser_
= OpenExtensionAppWindow(extension
);
60 ASSERT_TRUE(app_browser());
61 ASSERT_TRUE(app_browser()->is_app());
64 void PermissionBubbleAppBrowserTest::SetUp() {
65 ExtensionBrowserTest::SetUp();
68 void PermissionBubbleAppBrowserTest::SetUpCommandLine(
69 base::CommandLine
* command_line
) {
70 ExtensionBrowserTest::SetUpCommandLine(command_line
);
73 Browser
* PermissionBubbleAppBrowserTest::OpenExtensionAppWindow(
74 const extensions::Extension
* extension
) {
75 base::CommandLine
command_line(base::CommandLine::NO_PROGRAM
);
76 command_line
.AppendSwitchASCII(switches::kAppId
, extension
->id());
78 AppLaunchParams
params(browser()->profile(), extension
,
79 extensions::LAUNCH_CONTAINER_PANEL
, NEW_WINDOW
,
80 extensions::SOURCE_COMMAND_LINE
);
81 params
.command_line
= command_line
;
82 params
.current_directory
= base::FilePath();
84 content::WebContents
* app_window
= OpenApplication(params
);
87 return chrome::FindBrowserWithWebContents(app_window
);
90 PermissionBubbleKioskBrowserTest::PermissionBubbleKioskBrowserTest()
91 : PermissionBubbleBrowserTest() {
94 PermissionBubbleKioskBrowserTest::~PermissionBubbleKioskBrowserTest() {
97 void PermissionBubbleKioskBrowserTest::SetUpCommandLine(
98 base::CommandLine
* command_line
) {
99 PermissionBubbleBrowserTest::SetUpCommandLine(command_line
);
100 command_line
->AppendSwitch(switches::kKioskMode
);