Index: chrome/browser/ui/webui/offline_internals_ui.cc |
diff --git a/chrome/browser/ui/webui/offline_internals_ui.cc b/chrome/browser/ui/webui/offline_internals_ui.cc |
index d992c0de130f303b66610b9eef430677684fb2f9..3d8fcda9f052a0da04c698739451a349ba90ba1c 100644 |
--- a/chrome/browser/ui/webui/offline_internals_ui.cc |
+++ b/chrome/browser/ui/webui/offline_internals_ui.cc |
@@ -50,6 +50,15 @@ class OfflineInternalsUIMessageHandler : public content::WebUIMessageHandler { |
// Load Stored pages info. |
void HandleGetStoredPages(const base::ListValue* args); |
+ // Set whether to record offline page model events. |
+ void HandleSetRecordPageModel(const base::ListValue* args); |
+ |
+ // Set whether to record request queue events. |
+ void HandleSetRecordRequestQueue(const base::ListValue* args); |
+ |
+ // Load both Page Model and Request Queue event logs. |
+ void HandleGetEventLogs(const base::ListValue* args); |
+ |
// Callback for async GetAllPages calls. |
void HandleStoredPagesCallback( |
std::string callback_id, |
@@ -250,6 +259,36 @@ void OfflineInternalsUIMessageHandler::HandleGetStoredPages( |
} |
} |
+void OfflineInternalsUIMessageHandler::HandleSetRecordPageModel( |
+ const base::ListValue* args) { |
+ bool should_record; |
+ args->GetBoolean(0, &should_record); |
dpapad
2016/06/24 20:33:39
CHECK(args->GetBoolean(0, &should_record));
chili
2016/06/24 21:43:17
Done.
|
+ offline_page_model_->GetLogger()->SetIsLogging(should_record); |
+} |
+ |
+void OfflineInternalsUIMessageHandler::HandleSetRecordRequestQueue( |
+ const base::ListValue* args) { |
+ bool should_record; |
+ args->GetBoolean(0, &should_record); |
+ request_coordinator_->GetLogger()->SetIsLogging(should_record); |
+} |
+ |
+void OfflineInternalsUIMessageHandler::HandleGetEventLogs( |
+ const base::ListValue* args) { |
+ const base::Value* callback_id; |
+ CHECK(args->Get(0, &callback_id)); |
+ |
+ std::vector<std::string> logs; |
+ offline_page_model_->GetLogger()->GetLogs(logs); |
+ request_coordinator_->GetLogger()->GetLogs(logs); |
+ std::sort(logs.begin(), logs.end()); |
+ |
+ base::ListValue result; |
+ result.AppendStrings(logs); |
+ |
+ ResolveJavascriptCallback(*callback_id, result); |
+} |
+ |
void OfflineInternalsUIMessageHandler::RegisterMessages() { |
web_ui()->RegisterMessageCallback( |
"deleteAllPages", |
@@ -267,6 +306,18 @@ void OfflineInternalsUIMessageHandler::RegisterMessages() { |
"getStoredPages", |
base::Bind(&OfflineInternalsUIMessageHandler::HandleGetStoredPages, |
weak_ptr_factory_.GetWeakPtr())); |
+ web_ui()->RegisterMessageCallback( |
+ "getEventLogs", |
+ base::Bind(&OfflineInternalsUIMessageHandler::HandleGetEventLogs, |
+ weak_ptr_factory_.GetWeakPtr())); |
+ web_ui()->RegisterMessageCallback( |
+ "setRecordRequestQueue", |
+ base::Bind(&OfflineInternalsUIMessageHandler::HandleSetRecordRequestQueue, |
+ weak_ptr_factory_.GetWeakPtr())); |
+ web_ui()->RegisterMessageCallback( |
+ "setRecordPageModel", |
+ base::Bind(&OfflineInternalsUIMessageHandler::HandleSetRecordPageModel, |
+ weak_ptr_factory_.GetWeakPtr())); |
// Get the offline page model associated with this web ui. |
Profile* profile = Profile::FromWebUI(web_ui()); |