blob: 72626a279e4881940425ac69b55a641a260807c9 [file] [log] [blame]
[email protected]48372252013-12-20 12:18:011// 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.
4
5#include "chrome/browser/feedback/feedback_uploader_factory.h"
6
7#include "base/memory/singleton.h"
8#include "chrome/browser/feedback/feedback_uploader.h"
[email protected]873a6c082014-01-18 03:25:079#include "chrome/browser/profiles/incognito_helpers.h"
[email protected]48372252013-12-20 12:18:0110#include "components/browser_context_keyed_service/browser_context_dependency_manager.h"
11
12namespace feedback {
13
14// static
15FeedbackUploaderFactory* FeedbackUploaderFactory::GetInstance() {
16 return Singleton<FeedbackUploaderFactory>::get();
17}
18
19// static
20FeedbackUploader* FeedbackUploaderFactory::GetForBrowserContext(
21 content::BrowserContext* context) {
22 return static_cast<FeedbackUploader*>(
23 GetInstance()->GetServiceForBrowserContext(context, true));
24}
25
26FeedbackUploaderFactory::FeedbackUploaderFactory()
27 : BrowserContextKeyedServiceFactory(
28 "feedback::FeedbackUploader",
29 BrowserContextDependencyManager::GetInstance()) {}
30
31FeedbackUploaderFactory::~FeedbackUploaderFactory() {}
32
33BrowserContextKeyedService* FeedbackUploaderFactory::BuildServiceInstanceFor(
34 content::BrowserContext* context) const {
35 return new FeedbackUploader(context);
36}
37
[email protected]873a6c082014-01-18 03:25:0738content::BrowserContext* FeedbackUploaderFactory::GetBrowserContextToUse(
39 content::BrowserContext* context) const {
40 return chrome::GetBrowserContextOwnInstanceInIncognito(context);
41}
42
[email protected]48372252013-12-20 12:18:0143} // namespace feedback