blob: 5946416fb831cf892264fa9b5e5583e50562cab3 (
plain)
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
// Copyright 2014 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 "ios/chrome/browser/application_context_impl.h"
#include "base/command_line.h"
#include "base/files/file_path.h"
#include "base/logging.h"
#include "base/time/default_tick_clock.h"
#include "components/net_log/chrome_net_log.h"
#include "components/network_time/network_time_tracker.h"
#include "components/translate/core/browser/translate_download_manager.h"
#include "ios/chrome/common/channel_info.h"
#include "ios/public/provider/chrome/browser/chrome_browser_provider.h"
#include "net/log/net_log_capture_mode.h"
ApplicationContextImpl::ApplicationContextImpl(
const base::CommandLine& command_line) {
DCHECK(!GetApplicationContext());
SetApplicationContext(this);
net_log_.reset(new net_log::ChromeNetLog(
base::FilePath(), net::NetLogCaptureMode::Default(),
command_line.GetCommandLineString(), GetChannelString()));
}
ApplicationContextImpl::~ApplicationContextImpl() {
DCHECK_EQ(this, GetApplicationContext());
SetApplicationContext(nullptr);
}
PrefService* ApplicationContextImpl::GetLocalState() {
DCHECK(thread_checker_.CalledOnValidThread());
return ios::GetChromeBrowserProvider()->GetLocalState();
}
net::URLRequestContextGetter*
ApplicationContextImpl::GetSystemURLRequestContext() {
DCHECK(thread_checker_.CalledOnValidThread());
return ios::GetChromeBrowserProvider()->GetSystemURLRequestContext();
}
const std::string& ApplicationContextImpl::GetApplicationLocale() {
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(!application_locale_.empty());
return application_locale_;
}
void ApplicationContextImpl::SetApplicationLocale(const std::string& locale) {
DCHECK(thread_checker_.CalledOnValidThread());
application_locale_ = locale;
translate::TranslateDownloadManager::GetInstance()->set_application_locale(
application_locale_);
}
ios::ChromeBrowserStateManager*
ApplicationContextImpl::GetChromeBrowserStateManager() {
DCHECK(thread_checker_.CalledOnValidThread());
return ios::GetChromeBrowserProvider()->GetChromeBrowserStateManager();
}
metrics::MetricsService* ApplicationContextImpl::GetMetricsService() {
DCHECK(thread_checker_.CalledOnValidThread());
return ios::GetChromeBrowserProvider()->GetMetricsService();
}
policy::BrowserPolicyConnector*
ApplicationContextImpl::GetBrowserPolicyConnector() {
DCHECK(thread_checker_.CalledOnValidThread());
return ios::GetChromeBrowserProvider()->GetBrowserPolicyConnector();
}
rappor::RapporService* ApplicationContextImpl::GetRapporService() {
DCHECK(thread_checker_.CalledOnValidThread());
return ios::GetChromeBrowserProvider()->GetRapporService();
}
net_log::ChromeNetLog* ApplicationContextImpl::GetNetLog() {
DCHECK(thread_checker_.CalledOnValidThread());
return net_log_.get();
}
network_time::NetworkTimeTracker*
ApplicationContextImpl::GetNetworkTimeTracker() {
DCHECK(thread_checker_.CalledOnValidThread());
if (!network_time_tracker_) {
network_time_tracker_.reset(new network_time::NetworkTimeTracker(
make_scoped_ptr(new base::DefaultTickClock), GetLocalState()));
}
return network_time_tracker_.get();
}
|