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

Side by Side Diff: chrome/browser/ui/webui/offline_internals_ui.cc

Issue 2069933002: [Offline pages] Extract internals page interaction with browser to a proxy (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@i2
Patch Set: Compiling and working 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 unified diff | Download patch
OLDNEW
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
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
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() {}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698