| 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/offline_internals_ui_message_handler.h
" | 5 #include "chrome/browser/ui/webui/offline/offline_internals_ui_message_handler.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 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 offline_ids, | 108 offline_ids, |
| 109 base::Bind( | 109 base::Bind( |
| 110 &OfflineInternalsUIMessageHandler::HandleDeletedRequestsCallback, | 110 &OfflineInternalsUIMessageHandler::HandleDeletedRequestsCallback, |
| 111 weak_ptr_factory_.GetWeakPtr(), callback_id)); | 111 weak_ptr_factory_.GetWeakPtr(), callback_id)); |
| 112 } | 112 } |
| 113 } | 113 } |
| 114 | 114 |
| 115 void OfflineInternalsUIMessageHandler::HandleDeletedPagesCallback( | 115 void OfflineInternalsUIMessageHandler::HandleDeletedPagesCallback( |
| 116 std::string callback_id, | 116 std::string callback_id, |
| 117 offline_pages::DeletePageResult result) { | 117 offline_pages::DeletePageResult result) { |
| 118 ResolveJavascriptCallback( | 118 ResolveJavascriptCallback(base::Value(callback_id), |
| 119 base::StringValue(callback_id), | 119 base::Value(GetStringFromDeletePageResult(result))); |
| 120 base::StringValue(GetStringFromDeletePageResult(result))); | |
| 121 } | 120 } |
| 122 | 121 |
| 123 void OfflineInternalsUIMessageHandler::HandleDeletedRequestsCallback( | 122 void OfflineInternalsUIMessageHandler::HandleDeletedRequestsCallback( |
| 124 std::string callback_id, | 123 std::string callback_id, |
| 125 const offline_pages::MultipleItemStatuses& results) { | 124 const offline_pages::MultipleItemStatuses& results) { |
| 126 ResolveJavascriptCallback( | 125 ResolveJavascriptCallback( |
| 127 base::StringValue(callback_id), | 126 base::Value(callback_id), |
| 128 base::StringValue(GetStringFromDeleteRequestResults(results))); | 127 base::Value(GetStringFromDeleteRequestResults(results))); |
| 129 } | 128 } |
| 130 | 129 |
| 131 void OfflineInternalsUIMessageHandler::HandleStoredPagesCallback( | 130 void OfflineInternalsUIMessageHandler::HandleStoredPagesCallback( |
| 132 std::string callback_id, | 131 std::string callback_id, |
| 133 const offline_pages::MultipleOfflinePageItemResult& pages) { | 132 const offline_pages::MultipleOfflinePageItemResult& pages) { |
| 134 base::ListValue results; | 133 base::ListValue results; |
| 135 | 134 |
| 136 for (const auto& page : pages) { | 135 for (const auto& page : pages) { |
| 137 base::DictionaryValue* offline_page = new base::DictionaryValue(); | 136 base::DictionaryValue* offline_page = new base::DictionaryValue(); |
| 138 results.Append(offline_page); | 137 results.Append(offline_page); |
| 139 offline_page->SetString("onlineUrl", page.url.spec()); | 138 offline_page->SetString("onlineUrl", page.url.spec()); |
| 140 offline_page->SetString("namespace", page.client_id.name_space); | 139 offline_page->SetString("namespace", page.client_id.name_space); |
| 141 offline_page->SetDouble("size", page.file_size); | 140 offline_page->SetDouble("size", page.file_size); |
| 142 offline_page->SetString("id", std::to_string(page.offline_id)); | 141 offline_page->SetString("id", std::to_string(page.offline_id)); |
| 143 offline_page->SetString("filePath", page.file_path.MaybeAsASCII()); | 142 offline_page->SetString("filePath", page.file_path.MaybeAsASCII()); |
| 144 offline_page->SetDouble("creationTime", page.creation_time.ToJsTime()); | 143 offline_page->SetDouble("creationTime", page.creation_time.ToJsTime()); |
| 145 offline_page->SetDouble("lastAccessTime", page.last_access_time.ToJsTime()); | 144 offline_page->SetDouble("lastAccessTime", page.last_access_time.ToJsTime()); |
| 146 offline_page->SetInteger("accessCount", page.access_count); | 145 offline_page->SetInteger("accessCount", page.access_count); |
| 147 offline_page->SetString("originalUrl", page.original_url.spec()); | 146 offline_page->SetString("originalUrl", page.original_url.spec()); |
| 148 } | 147 } |
| 149 ResolveJavascriptCallback(base::StringValue(callback_id), results); | 148 ResolveJavascriptCallback(base::Value(callback_id), results); |
| 150 } | 149 } |
| 151 | 150 |
| 152 void OfflineInternalsUIMessageHandler::HandleRequestQueueCallback( | 151 void OfflineInternalsUIMessageHandler::HandleRequestQueueCallback( |
| 153 std::string callback_id, | 152 std::string callback_id, |
| 154 offline_pages::GetRequestsResult result, | 153 offline_pages::GetRequestsResult result, |
| 155 std::vector<std::unique_ptr<offline_pages::SavePageRequest>> requests) { | 154 std::vector<std::unique_ptr<offline_pages::SavePageRequest>> requests) { |
| 156 base::ListValue save_page_requests; | 155 base::ListValue save_page_requests; |
| 157 if (result == offline_pages::GetRequestsResult::SUCCESS) { | 156 if (result == offline_pages::GetRequestsResult::SUCCESS) { |
| 158 for (const auto& request : requests) { | 157 for (const auto& request : requests) { |
| 159 base::DictionaryValue* save_page_request = new base::DictionaryValue(); | 158 base::DictionaryValue* save_page_request = new base::DictionaryValue(); |
| 160 save_page_requests.Append(save_page_request); | 159 save_page_requests.Append(save_page_request); |
| 161 save_page_request->SetString("onlineUrl", request->url().spec()); | 160 save_page_request->SetString("onlineUrl", request->url().spec()); |
| 162 save_page_request->SetDouble("creationTime", | 161 save_page_request->SetDouble("creationTime", |
| 163 request->creation_time().ToJsTime()); | 162 request->creation_time().ToJsTime()); |
| 164 save_page_request->SetString("status", GetStringFromSavePageStatus()); | 163 save_page_request->SetString("status", GetStringFromSavePageStatus()); |
| 165 save_page_request->SetString("namespace", | 164 save_page_request->SetString("namespace", |
| 166 request->client_id().name_space); | 165 request->client_id().name_space); |
| 167 save_page_request->SetDouble("lastAttempt", | 166 save_page_request->SetDouble("lastAttempt", |
| 168 request->last_attempt_time().ToJsTime()); | 167 request->last_attempt_time().ToJsTime()); |
| 169 save_page_request->SetString("id", std::to_string(request->request_id())); | 168 save_page_request->SetString("id", std::to_string(request->request_id())); |
| 170 save_page_request->SetString("originalUrl", | 169 save_page_request->SetString("originalUrl", |
| 171 request->original_url().spec()); | 170 request->original_url().spec()); |
| 172 } | 171 } |
| 173 } | 172 } |
| 174 ResolveJavascriptCallback(base::StringValue(callback_id), save_page_requests); | 173 ResolveJavascriptCallback(base::Value(callback_id), save_page_requests); |
| 175 } | 174 } |
| 176 | 175 |
| 177 void OfflineInternalsUIMessageHandler::HandleGetRequestQueue( | 176 void OfflineInternalsUIMessageHandler::HandleGetRequestQueue( |
| 178 const base::ListValue* args) { | 177 const base::ListValue* args) { |
| 179 AllowJavascript(); | 178 AllowJavascript(); |
| 180 std::string callback_id; | 179 std::string callback_id; |
| 181 CHECK(args->GetString(0, &callback_id)); | 180 CHECK(args->GetString(0, &callback_id)); |
| 182 | 181 |
| 183 if (request_coordinator_) { | 182 if (request_coordinator_) { |
| 184 request_coordinator_->queue()->GetRequests(base::Bind( | 183 request_coordinator_->queue()->GetRequests(base::Bind( |
| 185 &OfflineInternalsUIMessageHandler::HandleRequestQueueCallback, | 184 &OfflineInternalsUIMessageHandler::HandleRequestQueueCallback, |
| 186 weak_ptr_factory_.GetWeakPtr(), callback_id)); | 185 weak_ptr_factory_.GetWeakPtr(), callback_id)); |
| 187 } else { | 186 } else { |
| 188 base::ListValue results; | 187 base::ListValue results; |
| 189 ResolveJavascriptCallback(base::StringValue(callback_id), results); | 188 ResolveJavascriptCallback(base::Value(callback_id), results); |
| 190 } | 189 } |
| 191 } | 190 } |
| 192 | 191 |
| 193 void OfflineInternalsUIMessageHandler::HandleGetStoredPages( | 192 void OfflineInternalsUIMessageHandler::HandleGetStoredPages( |
| 194 const base::ListValue* args) { | 193 const base::ListValue* args) { |
| 195 AllowJavascript(); | 194 AllowJavascript(); |
| 196 std::string callback_id; | 195 std::string callback_id; |
| 197 CHECK(args->GetString(0, &callback_id)); | 196 CHECK(args->GetString(0, &callback_id)); |
| 198 | 197 |
| 199 if (offline_page_model_) { | 198 if (offline_page_model_) { |
| 200 offline_page_model_->GetAllPages( | 199 offline_page_model_->GetAllPages( |
| 201 base::Bind(&OfflineInternalsUIMessageHandler::HandleStoredPagesCallback, | 200 base::Bind(&OfflineInternalsUIMessageHandler::HandleStoredPagesCallback, |
| 202 weak_ptr_factory_.GetWeakPtr(), callback_id)); | 201 weak_ptr_factory_.GetWeakPtr(), callback_id)); |
| 203 } else { | 202 } else { |
| 204 base::ListValue results; | 203 base::ListValue results; |
| 205 ResolveJavascriptCallback(base::StringValue(callback_id), results); | 204 ResolveJavascriptCallback(base::Value(callback_id), results); |
| 206 } | 205 } |
| 207 } | 206 } |
| 208 | 207 |
| 209 void OfflineInternalsUIMessageHandler::HandleSetRecordPageModel( | 208 void OfflineInternalsUIMessageHandler::HandleSetRecordPageModel( |
| 210 const base::ListValue* args) { | 209 const base::ListValue* args) { |
| 211 bool should_record; | 210 bool should_record; |
| 212 CHECK(args->GetBoolean(0, &should_record)); | 211 CHECK(args->GetBoolean(0, &should_record)); |
| 213 if (offline_page_model_) | 212 if (offline_page_model_) |
| 214 offline_page_model_->GetLogger()->SetIsLogging(should_record); | 213 offline_page_model_->GetLogger()->SetIsLogging(should_record); |
| 215 } | 214 } |
| 216 | 215 |
| 217 void OfflineInternalsUIMessageHandler::HandleGetNetworkStatus( | 216 void OfflineInternalsUIMessageHandler::HandleGetNetworkStatus( |
| 218 const base::ListValue* args) { | 217 const base::ListValue* args) { |
| 219 const base::Value* callback_id; | 218 const base::Value* callback_id; |
| 220 CHECK(args->Get(0, &callback_id)); | 219 CHECK(args->Get(0, &callback_id)); |
| 221 | 220 |
| 222 ResolveJavascriptCallback( | 221 ResolveJavascriptCallback( |
| 223 *callback_id, | 222 *callback_id, |
| 224 base::StringValue(net::NetworkChangeNotifier::IsOffline() ? "Offline" | 223 base::Value(net::NetworkChangeNotifier::IsOffline() ? "Offline" |
| 225 : "Online")); | 224 : "Online")); |
| 226 } | 225 } |
| 227 | 226 |
| 228 void OfflineInternalsUIMessageHandler::HandleSetRecordRequestQueue( | 227 void OfflineInternalsUIMessageHandler::HandleSetRecordRequestQueue( |
| 229 const base::ListValue* args) { | 228 const base::ListValue* args) { |
| 230 bool should_record; | 229 bool should_record; |
| 231 CHECK(args->GetBoolean(0, &should_record)); | 230 CHECK(args->GetBoolean(0, &should_record)); |
| 232 if (request_coordinator_) | 231 if (request_coordinator_) |
| 233 request_coordinator_->GetLogger()->SetIsLogging(should_record); | 232 request_coordinator_->GetLogger()->SetIsLogging(should_record); |
| 234 } | 233 } |
| 235 | 234 |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 341 | 340 |
| 342 // Get the offline page model associated with this web ui. | 341 // Get the offline page model associated with this web ui. |
| 343 Profile* profile = Profile::FromWebUI(web_ui()); | 342 Profile* profile = Profile::FromWebUI(web_ui()); |
| 344 offline_page_model_ = | 343 offline_page_model_ = |
| 345 offline_pages::OfflinePageModelFactory::GetForBrowserContext(profile); | 344 offline_pages::OfflinePageModelFactory::GetForBrowserContext(profile); |
| 346 request_coordinator_ = | 345 request_coordinator_ = |
| 347 offline_pages::RequestCoordinatorFactory::GetForBrowserContext(profile); | 346 offline_pages::RequestCoordinatorFactory::GetForBrowserContext(profile); |
| 348 } | 347 } |
| 349 | 348 |
| 350 } // namespace offline_internals | 349 } // namespace offline_internals |
| OLD | NEW |