| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "content/browser/appcache/appcache_internals_ui.h" | 5 #include "content/browser/appcache/appcache_internals_ui.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 401 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 412 proxy->RequestFileDetails( | 412 proxy->RequestFileDetails( |
| 413 {manifest_url, ToInt64(group_id_str), ToInt64(response_id_str)}); | 413 {manifest_url, ToInt64(group_id_str), ToInt64(response_id_str)}); |
| 414 } | 414 } |
| 415 | 415 |
| 416 void AppCacheInternalsUI::OnAllAppCacheInfoReady( | 416 void AppCacheInternalsUI::OnAllAppCacheInfoReady( |
| 417 scoped_refptr<AppCacheInfoCollection> collection, | 417 scoped_refptr<AppCacheInfoCollection> collection, |
| 418 const base::FilePath& partition_path) { | 418 const base::FilePath& partition_path) { |
| 419 std::string incognito_path_prefix; | 419 std::string incognito_path_prefix; |
| 420 if (browser_context()->IsOffTheRecord()) | 420 if (browser_context()->IsOffTheRecord()) |
| 421 incognito_path_prefix = "Incognito "; | 421 incognito_path_prefix = "Incognito "; |
| 422 web_ui()->CallJavascriptFunction( | 422 web_ui()->CallJavascriptFunctionUnsafe( |
| 423 kFunctionOnAllAppCacheInfoReady, | 423 kFunctionOnAllAppCacheInfoReady, |
| 424 base::StringValue(incognito_path_prefix + partition_path.AsUTF8Unsafe()), | 424 base::StringValue(incognito_path_prefix + partition_path.AsUTF8Unsafe()), |
| 425 *GetListValueFromAppCacheInfoCollection(collection.get())); | 425 *GetListValueFromAppCacheInfoCollection(collection.get())); |
| 426 } | 426 } |
| 427 | 427 |
| 428 void AppCacheInternalsUI::OnAppCacheInfoDeleted( | 428 void AppCacheInternalsUI::OnAppCacheInfoDeleted( |
| 429 const base::FilePath& partition_path, | 429 const base::FilePath& partition_path, |
| 430 const std::string& manifest_url, | 430 const std::string& manifest_url, |
| 431 bool deleted) { | 431 bool deleted) { |
| 432 web_ui()->CallJavascriptFunction( | 432 web_ui()->CallJavascriptFunctionUnsafe( |
| 433 kFunctionOnAppCacheInfoDeleted, | 433 kFunctionOnAppCacheInfoDeleted, |
| 434 base::StringValue(partition_path.AsUTF8Unsafe()), | 434 base::StringValue(partition_path.AsUTF8Unsafe()), |
| 435 base::StringValue(manifest_url), base::FundamentalValue(deleted)); | 435 base::StringValue(manifest_url), base::FundamentalValue(deleted)); |
| 436 } | 436 } |
| 437 | 437 |
| 438 void AppCacheInternalsUI::OnAppCacheDetailsReady( | 438 void AppCacheInternalsUI::OnAppCacheDetailsReady( |
| 439 const base::FilePath& partition_path, | 439 const base::FilePath& partition_path, |
| 440 const std::string& manifest_url, | 440 const std::string& manifest_url, |
| 441 std::unique_ptr<AppCacheResourceInfoVector> resource_info_vector) { | 441 std::unique_ptr<AppCacheResourceInfoVector> resource_info_vector) { |
| 442 if (resource_info_vector) { | 442 if (resource_info_vector) { |
| 443 web_ui()->CallJavascriptFunction( | 443 web_ui()->CallJavascriptFunctionUnsafe( |
| 444 kFunctionOnAppCacheDetailsReady, base::StringValue(manifest_url), | 444 kFunctionOnAppCacheDetailsReady, base::StringValue(manifest_url), |
| 445 base::StringValue(partition_path.AsUTF8Unsafe()), | 445 base::StringValue(partition_path.AsUTF8Unsafe()), |
| 446 *GetListValueForAppCacheResourceInfoVector(resource_info_vector.get())); | 446 *GetListValueForAppCacheResourceInfoVector(resource_info_vector.get())); |
| 447 } else { | 447 } else { |
| 448 web_ui()->CallJavascriptFunction( | 448 web_ui()->CallJavascriptFunctionUnsafe( |
| 449 kFunctionOnAppCacheDetailsReady, base::StringValue(manifest_url), | 449 kFunctionOnAppCacheDetailsReady, base::StringValue(manifest_url), |
| 450 base::StringValue(partition_path.AsUTF8Unsafe())); | 450 base::StringValue(partition_path.AsUTF8Unsafe())); |
| 451 } | 451 } |
| 452 } | 452 } |
| 453 | 453 |
| 454 void AppCacheInternalsUI::OnFileDetailsReady( | 454 void AppCacheInternalsUI::OnFileDetailsReady( |
| 455 const Proxy::ResponseEnquiry& response_enquiry, | 455 const Proxy::ResponseEnquiry& response_enquiry, |
| 456 scoped_refptr<AppCacheResponseInfo> response_info, | 456 scoped_refptr<AppCacheResponseInfo> response_info, |
| 457 scoped_refptr<net::IOBuffer> response_data, | 457 scoped_refptr<net::IOBuffer> response_data, |
| 458 int data_length) { | 458 int data_length) { |
| (...skipping 17 matching lines...) Expand all Loading... |
| 476 } else { | 476 } else { |
| 477 headers.append("Failed to read response headers. <br>"); | 477 headers.append("Failed to read response headers. <br>"); |
| 478 } | 478 } |
| 479 std::string hex_dump = base::StringPrintf( | 479 std::string hex_dump = base::StringPrintf( |
| 480 "<hr><pre> Showing %d of %d bytes\n\n", static_cast<int>(data_length), | 480 "<hr><pre> Showing %d of %d bytes\n\n", static_cast<int>(data_length), |
| 481 static_cast<int>(response_info->response_data_size())); | 481 static_cast<int>(response_info->response_data_size())); |
| 482 net::ViewCacheHelper::HexDump(response_data->data(), data_length, &hex_dump); | 482 net::ViewCacheHelper::HexDump(response_data->data(), data_length, &hex_dump); |
| 483 if (data_length < response_info->response_data_size()) | 483 if (data_length < response_info->response_data_size()) |
| 484 hex_dump.append("\nNote: data is truncated..."); | 484 hex_dump.append("\nNote: data is truncated..."); |
| 485 hex_dump.append("</pre>"); | 485 hex_dump.append("</pre>"); |
| 486 web_ui()->CallJavascriptFunction( | 486 web_ui()->CallJavascriptFunctionUnsafe( |
| 487 kFunctionOnFileDetailsReady, | 487 kFunctionOnFileDetailsReady, |
| 488 *GetDictionaryValueForResponseEnquiry(response_enquiry), | 488 *GetDictionaryValueForResponseEnquiry(response_enquiry), |
| 489 base::StringValue(headers), base::StringValue(hex_dump)); | 489 base::StringValue(headers), base::StringValue(hex_dump)); |
| 490 } | 490 } |
| 491 | 491 |
| 492 void AppCacheInternalsUI::OnFileDetailsFailed( | 492 void AppCacheInternalsUI::OnFileDetailsFailed( |
| 493 const Proxy::ResponseEnquiry& response_enquiry, | 493 const Proxy::ResponseEnquiry& response_enquiry, |
| 494 int net_result_code) { | 494 int net_result_code) { |
| 495 web_ui()->CallJavascriptFunction( | 495 web_ui()->CallJavascriptFunctionUnsafe( |
| 496 kFunctionOnFileDetailsFailed, | 496 kFunctionOnFileDetailsFailed, |
| 497 *GetDictionaryValueForResponseEnquiry(response_enquiry), | 497 *GetDictionaryValueForResponseEnquiry(response_enquiry), |
| 498 base::FundamentalValue(net_result_code)); | 498 base::FundamentalValue(net_result_code)); |
| 499 } | 499 } |
| 500 | 500 |
| 501 AppCacheInternalsUI::Proxy* AppCacheInternalsUI::GetProxyForPartitionPath( | 501 AppCacheInternalsUI::Proxy* AppCacheInternalsUI::GetProxyForPartitionPath( |
| 502 const base::FilePath& partition_path) { | 502 const base::FilePath& partition_path) { |
| 503 for (const scoped_refptr<Proxy>& proxy : appcache_proxies_) { | 503 for (const scoped_refptr<Proxy>& proxy : appcache_proxies_) { |
| 504 if (proxy->partition_path_ == partition_path) | 504 if (proxy->partition_path_ == partition_path) |
| 505 return proxy.get(); | 505 return proxy.get(); |
| 506 } | 506 } |
| 507 NOTREACHED(); | 507 NOTREACHED(); |
| 508 return nullptr; | 508 return nullptr; |
| 509 } | 509 } |
| 510 | 510 |
| 511 } // namespace content | 511 } // namespace content |
| OLD | NEW |