1 // Copyright 2013 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/test/data/webui/history_ui_browsertest.h"
7 #include "base/prefs/pref_service.h"
8 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/browser/history/history_service.h"
10 #include "chrome/browser/history/history_service_factory.h"
11 #include "chrome/browser/profiles/profile.h"
12 #include "chrome/browser/ui/browser.h"
13 #include "chrome/common/pref_names.h"
14 #include "chrome/test/base/ui_test_utils.h"
16 HistoryUIBrowserTest::HistoryUIBrowserTest()
18 baseline_time_(base::Time::Now().LocalMidnight()),
22 HistoryUIBrowserTest::~HistoryUIBrowserTest() {
25 void HistoryUIBrowserTest::SetUpOnMainThread() {
26 WebUIBrowserTest::SetUpOnMainThread();
28 history_
= HistoryServiceFactory::GetForProfile(
29 browser()->profile(), ServiceAccessType::EXPLICIT_ACCESS
);
30 ui_test_utils::WaitForHistoryToLoad(history_
);
33 void HistoryUIBrowserTest::AddPageToHistory(
34 int hour_offset
, const std::string
& url
, const std::string
& title
) {
35 // We need the ID scope and page ID so that the visit tracker can find it.
36 const history::ContextID id_scope
= reinterpret_cast<history::ContextID
>(1);
38 base::Time time
= baseline_time_
+ base::TimeDelta::FromHours(hour_offset
);
39 GURL gurl
= GURL(url
);
40 history_
->AddPage(gurl
, time
, id_scope
, nav_entry_id_
++, GURL(),
41 history::RedirectList(), ui::PAGE_TRANSITION_LINK
,
42 history::SOURCE_BROWSED
, false);
43 history_
->SetPageTitle(gurl
, base::UTF8ToUTF16(title
));
46 void HistoryUIBrowserTest::SetDeleteAllowed(bool allowed
) {
47 browser()->profile()->GetPrefs()->
48 SetBoolean(prefs::kAllowDeletingBrowserHistory
, allowed
);
51 void HistoryUIBrowserTest::ClearAcceptLanguages() {
52 browser()->profile()->GetPrefs()->
53 SetString(prefs::kAcceptLanguages
, "");