Chromium Code Reviews| Index: chrome/browser/ui/test/permission_bubble_browsertest.cc |
| diff --git a/chrome/browser/ui/test/permission_bubble_browsertest.cc b/chrome/browser/ui/test/permission_bubble_browsertest.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..668a1f0942a297e9f7b88f4cc24667fd36514f3d |
| --- /dev/null |
| +++ b/chrome/browser/ui/test/permission_bubble_browsertest.cc |
| @@ -0,0 +1,96 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "chrome/browser/ui/test/permission_bubble_browsertest.h" |
| + |
| +#include "base/command_line.h" |
| +#include "chrome/browser/extensions/extension_browsertest.h" |
| +#include "chrome/browser/ui/browser.h" |
| +#include "chrome/browser/ui/browser_finder.h" |
| +#include "chrome/browser/ui/browser_window.h" |
| +#include "chrome/browser/ui/extensions/app_launch_params.h" |
| +#include "chrome/browser/ui/extensions/application_launch.h" |
| +#include "chrome/browser/ui/tabs/tab_strip_model.h" |
| +#include "chrome/browser/ui/website_settings/mock_permission_bubble_request.h" |
| +#include "chrome/common/chrome_switches.h" |
| +#include "chrome/grit/generated_resources.h" |
| +#include "ui/base/l10n/l10n_util.h" |
| + |
| +// TestPermissionBubbleViewDelegate //////////////////////////////////////////// |
| + |
| +TestPermissionBubbleViewDelegate::TestPermissionBubbleViewDelegate() |
| + : PermissionBubbleView::Delegate() { |
| +} |
| + |
| +// PermissionBubbleBrowsertest ///////////////////////////////////////////////// |
| + |
| +PermissionBubbleBrowsertest::PermissionBubbleBrowsertest() |
| + : ExtensionBrowserTest() { |
| +} |
| + |
| +PermissionBubbleBrowsertest::~PermissionBubbleBrowsertest() { |
| +} |
| + |
| +void PermissionBubbleBrowsertest::SetUpOnMainThread() { |
| + ExtensionBrowserTest::SetUpOnMainThread(); |
| + |
| + // Add a single permission request. |
| + MockPermissionBubbleRequest* request = new MockPermissionBubbleRequest( |
| + "Request 1", l10n_util::GetStringUTF8(IDS_PERMISSION_ALLOW), |
| + l10n_util::GetStringUTF8(IDS_PERMISSION_DENY)); |
| + requests_.push_back(request); |
| +} |
| + |
| +// PermissionBubbleAppBrowsertest ////////////////////////////////////////////// |
| + |
| +PermissionBubbleAppBrowsertest::PermissionBubbleAppBrowsertest() |
| + : PermissionBubbleBrowsertest(), app_browser_(nullptr) { |
| +} |
| + |
| +PermissionBubbleAppBrowsertest::~PermissionBubbleAppBrowsertest() { |
| +} |
| + |
| +void PermissionBubbleAppBrowsertest::SetUpOnMainThread() { |
| + PermissionBubbleBrowsertest::SetUpOnMainThread(); |
| + |
| + auto extension = |
| + LoadExtension(test_data_dir_.AppendASCII("app_with_panel_container/")); |
|
groby-ooo-7-16
2015/04/08 18:39:15
I take it leaking extensions is OK here?
hcarmona
2015/04/10 18:54:07
I think the extension is owned by ExtensionRegistr
|
| + ASSERT_TRUE(extension); |
| + |
| + app_browser_ = OpenExtensionAppWindow(extension); |
| + ASSERT_TRUE(app_browser()); |
| + ASSERT_TRUE(app_browser()->is_app()); |
| +} |
| + |
| +Browser* PermissionBubbleAppBrowsertest::OpenExtensionAppWindow( |
| + const extensions::Extension* extension) { |
| + base::CommandLine command_line(base::CommandLine::NO_PROGRAM); |
| + command_line.AppendSwitchASCII(switches::kAppId, extension->id()); |
| + |
| + AppLaunchParams params(browser()->profile(), extension, |
| + extensions::LAUNCH_CONTAINER_PANEL, NEW_WINDOW, |
| + extensions::SOURCE_COMMAND_LINE); |
| + params.command_line = command_line; |
| + params.current_directory = base::FilePath(); |
| + |
| + content::WebContents* app_window = OpenApplication(params); |
| + assert(app_window); |
| + |
| + return chrome::FindBrowserWithWebContents(app_window); |
| +} |
| + |
| +// PermissionBubbleKioskBrowsertest //////////////////////////////////////////// |
| + |
| +PermissionBubbleKioskBrowsertest::PermissionBubbleKioskBrowsertest() |
| + : PermissionBubbleBrowsertest() { |
| +} |
| + |
| +PermissionBubbleKioskBrowsertest::~PermissionBubbleKioskBrowsertest() { |
| +} |
| + |
| +void PermissionBubbleKioskBrowsertest::SetUpCommandLine( |
| + base::CommandLine* command_line) { |
| + PermissionBubbleBrowsertest::SetUpCommandLine(command_line); |
| + command_line->AppendSwitch(switches::kKioskMode); |
| +} |