Chromium Code Reviews| 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: |