forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathweblayer_browser_test.cc
67 lines (52 loc) · 2.21 KB
/
weblayer_browser_test.cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// Copyright 2019 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 "weblayer/test/weblayer_browser_test.h"
#include "base/base_paths.h"
#include "weblayer/browser/browser_context_impl.h"
#include "weblayer/browser/profile_impl.h"
#include "weblayer/browser/tab_impl.h"
#include "weblayer/common/features.h"
#include "weblayer/public/common/switches.h"
#include "weblayer/shell/browser/shell.h"
#include "weblayer/shell/common/shell_switches.h"
namespace weblayer {
WebLayerBrowserTest::WebLayerBrowserTest() {
CreateTestServer(base::FilePath(FILE_PATH_LITERAL("weblayer/test/data")));
// Disable auto reload since most browser tests do not expect error pages to
// reload automatically. Tests that want auto reload can explicitly enable
// this feature.
feature_list_.InitAndDisableFeature(features::kEnableAutoReload);
}
WebLayerBrowserTest::~WebLayerBrowserTest() = default;
void WebLayerBrowserTest::SetUp() {
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
command_line->AppendSwitch(switches::kNoInitialNavigation);
if (start_in_incognito_mode_)
command_line->AppendSwitch(switches::kStartInIncognito);
SetUpCommandLine(command_line);
content::BrowserTestBase::SetUp();
}
void WebLayerBrowserTest::PreRunTestOnMainThread() {
ASSERT_EQ(Shell::windows().size(), 1u);
shell_ = Shell::windows()[0];
// Don't fill machine's download directory from tests; instead place downloads
// in the temporary user-data-dir for this test.
auto* tab_impl = static_cast<TabImpl*>(shell_->tab());
auto* browser_context = tab_impl->web_contents()->GetBrowserContext();
auto* browser_context_impl =
static_cast<BrowserContextImpl*>(browser_context);
browser_context_impl->profile_impl()->SetDownloadDirectory(
browser_context->GetPath());
}
void WebLayerBrowserTest::PostRunTestOnMainThread() {
Shell::CloseAllWindows();
}
void WebLayerBrowserTest::SetShellStartsInIncognitoMode() {
DCHECK(!set_up_called());
start_in_incognito_mode_ = true;
}
ProfileImpl* WebLayerBrowserTest::GetProfile() {
return static_cast<TabImpl*>(shell_->tab())->profile();
}
} // namespace weblayer