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

Unified Diff: chrome/browser/ui/webui/offline_internals_ui.cc

Issue 2089423002: [Offline Pages] Connect the offline page logs to the internals page. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@i4
Patch Set: style update Created 4 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/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());

Powered by Google App Engine
This is Rietveld 408576698