Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(375)

Side by Side Diff: chrome/browser/extensions/api/feedback_private/feedback_private_api.cc

Issue 171813010: Move ProfileKeyedAPI implementations to take BrowserContext in the constructor (part 1). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: browser_context_ Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/api/feedback_private/feedback_private_api.h" 5 #include "chrome/browser/extensions/api/feedback_private/feedback_private_api.h"
6 6
7 #include "base/lazy_instance.h" 7 #include "base/lazy_instance.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "base/strings/string_util.h" 10 #include "base/strings/string_util.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 43
44 static base::LazyInstance<ProfileKeyedAPIFactory<FeedbackPrivateAPI> > 44 static base::LazyInstance<ProfileKeyedAPIFactory<FeedbackPrivateAPI> >
45 g_factory = LAZY_INSTANCE_INITIALIZER; 45 g_factory = LAZY_INSTANCE_INITIALIZER;
46 46
47 // static 47 // static
48 ProfileKeyedAPIFactory<FeedbackPrivateAPI>* 48 ProfileKeyedAPIFactory<FeedbackPrivateAPI>*
49 FeedbackPrivateAPI::GetFactoryInstance() { 49 FeedbackPrivateAPI::GetFactoryInstance() {
50 return g_factory.Pointer(); 50 return g_factory.Pointer();
51 } 51 }
52 52
53 FeedbackPrivateAPI::FeedbackPrivateAPI(Profile* profile) 53 FeedbackPrivateAPI::FeedbackPrivateAPI(content::BrowserContext* context)
54 : profile_(profile), 54 : browser_context_(context), service_(FeedbackService::CreateInstance()) {}
55 service_(FeedbackService::CreateInstance()) {
56 }
57 55
58 FeedbackPrivateAPI::~FeedbackPrivateAPI() { 56 FeedbackPrivateAPI::~FeedbackPrivateAPI() {
59 delete service_; 57 delete service_;
60 service_ = NULL; 58 service_ = NULL;
61 } 59 }
62 60
63 FeedbackService* FeedbackPrivateAPI::GetService() const { 61 FeedbackService* FeedbackPrivateAPI::GetService() const {
64 return service_; 62 return service_;
65 } 63 }
66 64
67 void FeedbackPrivateAPI::RequestFeedback( 65 void FeedbackPrivateAPI::RequestFeedback(
68 const std::string& description_template, 66 const std::string& description_template,
69 const std::string& category_tag, 67 const std::string& category_tag,
70 const GURL& page_url) { 68 const GURL& page_url) {
71 // TODO(rkc): Remove logging once crbug.com/284662 is closed. 69 // TODO(rkc): Remove logging once crbug.com/284662 is closed.
72 LOG(WARNING) << "FEEDBACK_DEBUG: Feedback requested."; 70 LOG(WARNING) << "FEEDBACK_DEBUG: Feedback requested.";
73 if (profile_ && ExtensionSystem::Get(profile_)->event_router()) { 71 if (browser_context_ &&
72 ExtensionSystem::Get(browser_context_)->event_router()) {
74 FeedbackInfo info; 73 FeedbackInfo info;
75 info.description = description_template; 74 info.description = description_template;
76 info.category_tag = make_scoped_ptr(new std::string(category_tag)); 75 info.category_tag = make_scoped_ptr(new std::string(category_tag));
77 info.page_url = make_scoped_ptr(new std::string(page_url.spec())); 76 info.page_url = make_scoped_ptr(new std::string(page_url.spec()));
78 info.system_information.reset(new SystemInformationList); 77 info.system_information.reset(new SystemInformationList);
79 // The manager is only available if tracing is enabled. 78 // The manager is only available if tracing is enabled.
80 if (TracingManager* manager = TracingManager::Get()) { 79 if (TracingManager* manager = TracingManager::Get()) {
81 info.trace_id.reset(new int(manager->RequestTrace())); 80 info.trace_id.reset(new int(manager->RequestTrace()));
82 } 81 }
83 82
84 scoped_ptr<base::ListValue> args(new base::ListValue()); 83 scoped_ptr<base::ListValue> args(new base::ListValue());
85 args->Append(info.ToValue().release()); 84 args->Append(info.ToValue().release());
86 85
87 scoped_ptr<Event> event(new Event( 86 scoped_ptr<Event> event(new Event(
88 feedback_private::OnFeedbackRequested::kEventName, args.Pass())); 87 feedback_private::OnFeedbackRequested::kEventName, args.Pass()));
89 event->restrict_to_browser_context = profile_; 88 event->restrict_to_browser_context = browser_context_;
90 89
91 // TODO(rkc): Remove logging once crbug.com/284662 is closed. 90 // TODO(rkc): Remove logging once crbug.com/284662 is closed.
92 LOG(WARNING) << "FEEDBACK_DEBUG: Dispatching onFeedbackRequested event."; 91 LOG(WARNING) << "FEEDBACK_DEBUG: Dispatching onFeedbackRequested event.";
93 ExtensionSystem::Get(profile_)->event_router()->DispatchEventToExtension( 92 ExtensionSystem::Get(browser_context_)
94 kFeedbackExtensionId, 93 ->event_router()
95 event.Pass()); 94 ->DispatchEventToExtension(kFeedbackExtensionId, event.Pass());
96 } 95 }
97 } 96 }
98 97
99 // static 98 // static
100 base::Closure* FeedbackPrivateGetStringsFunction::test_callback_ = NULL; 99 base::Closure* FeedbackPrivateGetStringsFunction::test_callback_ = NULL;
101 100
102 bool FeedbackPrivateGetStringsFunction::RunImpl() { 101 bool FeedbackPrivateGetStringsFunction::RunImpl() {
103 base::DictionaryValue* dict = new base::DictionaryValue(); 102 base::DictionaryValue* dict = new base::DictionaryValue();
104 SetResult(dict); 103 SetResult(dict);
105 104
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 239
241 void FeedbackPrivateSendFeedbackFunction::OnCompleted( 240 void FeedbackPrivateSendFeedbackFunction::OnCompleted(
242 bool success) { 241 bool success) {
243 results_ = feedback_private::SendFeedback::Results::Create( 242 results_ = feedback_private::SendFeedback::Results::Create(
244 success ? feedback_private::STATUS_SUCCESS : 243 success ? feedback_private::STATUS_SUCCESS :
245 feedback_private::STATUS_DELAYED); 244 feedback_private::STATUS_DELAYED);
246 SendResponse(true); 245 SendResponse(true);
247 } 246 }
248 247
249 } // namespace extensions 248 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698