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 |