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

Unified Diff: chrome/browser/extensions/api/feedback_private/feedback_private_api.h

Issue 2840103002: Add new API function: feedbackPrivate.readLogSource (Closed)
Patch Set: Responded to comments from Patch Set 14 Created 3 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/feedback_private/feedback_private_api.h
diff --git a/chrome/browser/extensions/api/feedback_private/feedback_private_api.h b/chrome/browser/extensions/api/feedback_private/feedback_private_api.h
index 3ff94b9c3f70f5f313d42f5b347febf6d19bc50d..c98b921eefa5bab8de7ebb13e74889a63366a0d8 100644
--- a/chrome/browser/extensions/api/feedback_private/feedback_private_api.h
+++ b/chrome/browser/extensions/api/feedback_private/feedback_private_api.h
@@ -5,6 +5,8 @@
#ifndef CHROME_BROWSER_EXTENSIONS_API_FEEDBACK_PRIVATE_FEEDBACK_PRIVATE_API_H_
#define CHROME_BROWSER_EXTENSIONS_API_FEEDBACK_PRIVATE_FEEDBACK_PRIVATE_API_H_
+#include <memory>
+
#include "chrome/browser/extensions/chrome_extension_function.h"
#include "chrome/browser/feedback/system_logs/system_logs_fetcher_base.h"
#include "chrome/common/extensions/api/feedback_private.h"
@@ -15,6 +17,7 @@
namespace extensions {
class FeedbackService;
+class LogSourceAccessManager;
class FeedbackPrivateAPI : public BrowserContextKeyedAPI {
public:
@@ -23,6 +26,12 @@ class FeedbackPrivateAPI : public BrowserContextKeyedAPI {
FeedbackService* GetService() const;
+#if defined(OS_CHROMEOS)
+ LogSourceAccessManager* GetLogSourceAccessManager() const {
+ return log_source_access_manager_.get();
tbarzic 2017/06/07 17:58:38 nit: this should now go to .cc
Simon Que 2017/06/07 18:25:58 Done.
+ }
+#endif // defined(OS_CHROMEOS)
+
void RequestFeedback(const std::string& description_template,
const std::string& category_tag,
const GURL& page_url);
@@ -47,7 +56,11 @@ class FeedbackPrivateAPI : public BrowserContextKeyedAPI {
static const bool kServiceHasOwnInstanceInIncognito = true;
content::BrowserContext* const browser_context_;
- FeedbackService* service_;
+ std::unique_ptr<FeedbackService> service_;
+
+#if defined(OS_CHROMEOS)
+ std::unique_ptr<LogSourceAccessManager> log_source_access_manager_;
+#endif // defined(OS_CHROMEOS)
tbarzic 2017/06/07 17:58:38 nit: add DISALLOW_COPY_AND_ASSIGN(FeedbackPrivateA
Simon Que 2017/06/07 18:25:58 Done.
};
// Feedback strings.
@@ -95,6 +108,23 @@ class FeedbackPrivateGetSystemInformationFunction
void OnCompleted(std::unique_ptr<system_logs::SystemLogsResponse> sys_info);
};
+// This function only reads from actual log sources on Chrome OS. On other
+// platforms, it just returns EmptyResponse().
+class FeedbackPrivateReadLogSourceFunction : public UIThreadExtensionFunction {
+ public:
+ DECLARE_EXTENSION_FUNCTION("feedbackPrivate.readLogSource",
+ FEEDBACKPRIVATE_READLOGSOURCE);
+
+ protected:
+ ~FeedbackPrivateReadLogSourceFunction() override {}
+ ResponseAction Run() override;
+
+#if defined(OS_CHROMEOS)
+ private:
+ void OnCompleted(api::feedback_private::ReadLogSourceResult& result);
+#endif // defined(OS_CHROMEOS)
+};
+
class FeedbackPrivateSendFeedbackFunction
: public ChromeAsyncExtensionFunction {
public:

Powered by Google App Engine
This is Rietveld 408576698