| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/webui/offline_internals_ui.h" | 5 #include "chrome/browser/ui/webui/offline_internals_ui.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 #include <stdlib.h> | 8 #include <stdlib.h> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 void RegisterMessages() override; | 38 void RegisterMessages() override; |
| 39 | 39 |
| 40 private: | 40 private: |
| 41 // Deletes all the pages in the store. | 41 // Deletes all the pages in the store. |
| 42 void HandleDeleteAllPages(const base::ListValue* args); | 42 void HandleDeleteAllPages(const base::ListValue* args); |
| 43 | 43 |
| 44 // Delete selected list of page ids from the store. | 44 // Delete selected list of page ids from the store. |
| 45 void HandleDeleteSelectedPages(const base::ListValue* args); | 45 void HandleDeleteSelectedPages(const base::ListValue* args); |
| 46 | 46 |
| 47 // Load Request Queue info. | 47 // Load Request Queue info. |
| 48 void HandleGetRequestQueueInfo(const base::ListValue* args); | 48 void HandleGetRequestQueue(const base::ListValue* args); |
| 49 | 49 |
| 50 // Load Stored pages info. | 50 // Load Stored pages info. |
| 51 void HandleGetStoredPagesInfo(const base::ListValue* args); | 51 void HandleGetStoredPages(const base::ListValue* args); |
| 52 | 52 |
| 53 // Callback for async GetAllPages calls. | 53 // Callback for async GetAllPages calls. |
| 54 void HandleStoredPagesCallback( | 54 void HandleStoredPagesCallback( |
| 55 std::string callback_id, | 55 std::string callback_id, |
| 56 const offline_pages::MultipleOfflinePageItemResult& pages); | 56 const offline_pages::MultipleOfflinePageItemResult& pages); |
| 57 | 57 |
| 58 // Callback for async GetRequests calls. | 58 // Callback for async GetRequests calls. |
| 59 void HandleRequestQueueCallback( | 59 void HandleRequestQueueCallback( |
| 60 std::string callback_id, | 60 std::string callback_id, |
| 61 offline_pages::RequestQueue::GetRequestsResult result, | 61 offline_pages::RequestQueue::GetRequestsResult result, |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 211 GetStringFromSavePageStatus(request.GetStatus(base::Time::Now()))); | 211 GetStringFromSavePageStatus(request.GetStatus(base::Time::Now()))); |
| 212 save_page_request->SetString("namespace", request.client_id().name_space); | 212 save_page_request->SetString("namespace", request.client_id().name_space); |
| 213 save_page_request->SetDouble("lastAttempt", | 213 save_page_request->SetDouble("lastAttempt", |
| 214 request.last_attempt_time().ToJsTime()); | 214 request.last_attempt_time().ToJsTime()); |
| 215 save_page_request->SetString("id", std::to_string(request.request_id())); | 215 save_page_request->SetString("id", std::to_string(request.request_id())); |
| 216 } | 216 } |
| 217 } | 217 } |
| 218 ResolveJavascriptCallback(base::StringValue(callback_id), save_page_requests); | 218 ResolveJavascriptCallback(base::StringValue(callback_id), save_page_requests); |
| 219 } | 219 } |
| 220 | 220 |
| 221 void OfflineInternalsUIMessageHandler::HandleGetRequestQueueInfo( | 221 void OfflineInternalsUIMessageHandler::HandleGetRequestQueue( |
| 222 const base::ListValue* args) { | 222 const base::ListValue* args) { |
| 223 AllowJavascript(); | 223 AllowJavascript(); |
| 224 std::string callback_id; | 224 std::string callback_id; |
| 225 CHECK(args->GetString(0, &callback_id)); | 225 CHECK(args->GetString(0, &callback_id)); |
| 226 | 226 |
| 227 if (request_coordinator_) { | 227 if (request_coordinator_) { |
| 228 request_coordinator_->queue()->GetRequests(base::Bind( | 228 request_coordinator_->queue()->GetRequests(base::Bind( |
| 229 &OfflineInternalsUIMessageHandler::HandleRequestQueueCallback, | 229 &OfflineInternalsUIMessageHandler::HandleRequestQueueCallback, |
| 230 weak_ptr_factory_.GetWeakPtr(), callback_id)); | 230 weak_ptr_factory_.GetWeakPtr(), callback_id)); |
| 231 } else { | 231 } else { |
| 232 base::ListValue results; | 232 base::ListValue results; |
| 233 ResolveJavascriptCallback(base::StringValue(callback_id), results); | 233 ResolveJavascriptCallback(base::StringValue(callback_id), results); |
| 234 } | 234 } |
| 235 } | 235 } |
| 236 | 236 |
| 237 void OfflineInternalsUIMessageHandler::HandleGetStoredPagesInfo( | 237 void OfflineInternalsUIMessageHandler::HandleGetStoredPages( |
| 238 const base::ListValue* args) { | 238 const base::ListValue* args) { |
| 239 AllowJavascript(); | 239 AllowJavascript(); |
| 240 std::string callback_id; | 240 std::string callback_id; |
| 241 CHECK(args->GetString(0, &callback_id)); | 241 CHECK(args->GetString(0, &callback_id)); |
| 242 | 242 |
| 243 if (offline_page_model_) { | 243 if (offline_page_model_) { |
| 244 offline_page_model_->GetAllPages( | 244 offline_page_model_->GetAllPages( |
| 245 base::Bind(&OfflineInternalsUIMessageHandler::HandleStoredPagesCallback, | 245 base::Bind(&OfflineInternalsUIMessageHandler::HandleStoredPagesCallback, |
| 246 weak_ptr_factory_.GetWeakPtr(), callback_id)); | 246 weak_ptr_factory_.GetWeakPtr(), callback_id)); |
| 247 } else { | 247 } else { |
| 248 base::ListValue results; | 248 base::ListValue results; |
| 249 ResolveJavascriptCallback(base::StringValue(callback_id), results); | 249 ResolveJavascriptCallback(base::StringValue(callback_id), results); |
| 250 } | 250 } |
| 251 } | 251 } |
| 252 | 252 |
| 253 void OfflineInternalsUIMessageHandler::RegisterMessages() { | 253 void OfflineInternalsUIMessageHandler::RegisterMessages() { |
| 254 web_ui()->RegisterMessageCallback( | 254 web_ui()->RegisterMessageCallback( |
| 255 "deleteAllPages", | 255 "deleteAllPages", |
| 256 base::Bind(&OfflineInternalsUIMessageHandler::HandleDeleteAllPages, | 256 base::Bind(&OfflineInternalsUIMessageHandler::HandleDeleteAllPages, |
| 257 weak_ptr_factory_.GetWeakPtr())); | 257 weak_ptr_factory_.GetWeakPtr())); |
| 258 web_ui()->RegisterMessageCallback( | 258 web_ui()->RegisterMessageCallback( |
| 259 "deleteSelectedPages", | 259 "deleteSelectedPages", |
| 260 base::Bind(&OfflineInternalsUIMessageHandler::HandleDeleteSelectedPages, | 260 base::Bind(&OfflineInternalsUIMessageHandler::HandleDeleteSelectedPages, |
| 261 weak_ptr_factory_.GetWeakPtr())); | 261 weak_ptr_factory_.GetWeakPtr())); |
| 262 web_ui()->RegisterMessageCallback( | 262 web_ui()->RegisterMessageCallback( |
| 263 "getRequestQueueInfo", | 263 "getRequestQueue", |
| 264 base::Bind(&OfflineInternalsUIMessageHandler::HandleGetRequestQueueInfo, | 264 base::Bind(&OfflineInternalsUIMessageHandler::HandleGetRequestQueue, |
| 265 weak_ptr_factory_.GetWeakPtr())); | 265 weak_ptr_factory_.GetWeakPtr())); |
| 266 web_ui()->RegisterMessageCallback( | 266 web_ui()->RegisterMessageCallback( |
| 267 "getStoredPagesInfo", | 267 "getStoredPages", |
| 268 base::Bind(&OfflineInternalsUIMessageHandler::HandleGetStoredPagesInfo, | 268 base::Bind(&OfflineInternalsUIMessageHandler::HandleGetStoredPages, |
| 269 weak_ptr_factory_.GetWeakPtr())); | 269 weak_ptr_factory_.GetWeakPtr())); |
| 270 | 270 |
| 271 // Get the offline page model associated with this web ui. | 271 // Get the offline page model associated with this web ui. |
| 272 Profile* profile = Profile::FromWebUI(web_ui()); | 272 Profile* profile = Profile::FromWebUI(web_ui()); |
| 273 offline_page_model_ = | 273 offline_page_model_ = |
| 274 offline_pages::OfflinePageModelFactory::GetForBrowserContext(profile); | 274 offline_pages::OfflinePageModelFactory::GetForBrowserContext(profile); |
| 275 request_coordinator_ = | 275 request_coordinator_ = |
| 276 offline_pages::RequestCoordinatorFactory::GetForBrowserContext(profile); | 276 offline_pages::RequestCoordinatorFactory::GetForBrowserContext(profile); |
| 277 } | 277 } |
| 278 | 278 |
| 279 } // namespace | 279 } // namespace |
| 280 | 280 |
| 281 OfflineInternalsUI::OfflineInternalsUI(content::WebUI* web_ui) | 281 OfflineInternalsUI::OfflineInternalsUI(content::WebUI* web_ui) |
| 282 : content::WebUIController(web_ui) { | 282 : content::WebUIController(web_ui) { |
| 283 // chrome://offline-internals source. | 283 // chrome://offline-internals source. |
| 284 content::WebUIDataSource* html_source = | 284 content::WebUIDataSource* html_source = |
| 285 content::WebUIDataSource::Create(chrome::kChromeUIOfflineInternalsHost); | 285 content::WebUIDataSource::Create(chrome::kChromeUIOfflineInternalsHost); |
| 286 | 286 |
| 287 // Required resources. | 287 // Required resources. |
| 288 html_source->SetJsonPath("strings.js"); | 288 html_source->SetJsonPath("strings.js"); |
| 289 html_source->AddResourcePath("offline_internals.css", | 289 html_source->AddResourcePath("offline_internals.css", |
| 290 IDR_OFFLINE_INTERNALS_CSS); | 290 IDR_OFFLINE_INTERNALS_CSS); |
| 291 html_source->AddResourcePath("offline_internals.js", | 291 html_source->AddResourcePath("offline_internals.js", |
| 292 IDR_OFFLINE_INTERNALS_JS); | 292 IDR_OFFLINE_INTERNALS_JS); |
| 293 html_source->AddResourcePath("offline_internals_browser_proxy.js", |
| 294 IDR_OFFLINE_INTERNALS_BROWSER_PROXY_JS); |
| 293 html_source->SetDefaultResource(IDR_OFFLINE_INTERNALS_HTML); | 295 html_source->SetDefaultResource(IDR_OFFLINE_INTERNALS_HTML); |
| 294 | 296 |
| 295 content::WebUIDataSource::Add(Profile::FromWebUI(web_ui), html_source); | 297 content::WebUIDataSource::Add(Profile::FromWebUI(web_ui), html_source); |
| 296 | 298 |
| 297 web_ui->AddMessageHandler(new OfflineInternalsUIMessageHandler()); | 299 web_ui->AddMessageHandler(new OfflineInternalsUIMessageHandler()); |
| 298 } | 300 } |
| 299 | 301 |
| 300 OfflineInternalsUI::~OfflineInternalsUI() {} | 302 OfflineInternalsUI::~OfflineInternalsUI() {} |
| OLD | NEW |