Chromium Code Reviews| 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()); |