diff options
-rw-r--r-- | content/child/ftp_directory_listing_response_delegate.cc | 2 | ||||
-rw-r--r-- | net/BUILD.gn | 1 | ||||
-rw-r--r-- | net/DEPS | 11 | ||||
-rw-r--r-- | net/base/directory_listing.cc (renamed from net/base/net_util_icu.cc) | 26 | ||||
-rw-r--r-- | net/base/directory_listing.h | 44 | ||||
-rw-r--r-- | net/base/directory_listing_unittest.cc (renamed from net/base/net_util_icu_unittest.cc) | 9 | ||||
-rw-r--r-- | net/base/net_util.cc | 21 | ||||
-rw-r--r-- | net/base/net_util.h | 22 | ||||
-rw-r--r-- | net/net.gyp | 1 | ||||
-rw-r--r-- | net/net.gypi | 59 | ||||
-rw-r--r-- | net/url_request/url_request_file_dir_job.cc | 2 | ||||
-rw-r--r-- | net/url_request/url_request_unittest.cc | 1 | ||||
-rw-r--r-- | storage/browser/fileapi/file_system_dir_url_request_job.cc | 2 |
13 files changed, 109 insertions, 92 deletions
diff --git a/content/child/ftp_directory_listing_response_delegate.cc b/content/child/ftp_directory_listing_response_delegate.cc index 26d43c8..5bf21a7 100644 --- a/content/child/ftp_directory_listing_response_delegate.cc +++ b/content/child/ftp_directory_listing_response_delegate.cc @@ -17,9 +17,9 @@ #include "base/strings/utf_string_conversions.h" #include "base/time/time.h" #include "content/child/weburlresponse_extradata_impl.h" +#include "net/base/directory_listing.h" #include "net/base/escape.h" #include "net/base/net_errors.h" -#include "net/base/net_util.h" #include "net/ftp/ftp_directory_listing_parser.h" #include "third_party/WebKit/public/platform/WebURL.h" #include "third_party/WebKit/public/platform/WebURLLoaderClient.h" diff --git a/net/BUILD.gn b/net/BUILD.gn index 0238a402..a3974ec 100644 --- a/net/BUILD.gn +++ b/net/BUILD.gn @@ -449,7 +449,6 @@ component("net") { sources += [ "base/filename_util_icu.cc", "base/net_string_util_icu.cc", - "base/net_util_icu.cc", ] # Brotli support. @@ -24,17 +24,16 @@ specific_include_rules = { "+base/i18n", ], + # Functions largely not used by the rest of net. + "directory_listing\.cc": [ + "+base/i18n", + ], + # Within net, only used by file: requests. "filename_util_icu\.cc": [ "+base/i18n/file_util_icu.h", ], - # Functions largely not used by the rest of net. - "net_util_icu\.cc": [ - "+base/i18n", - "+third_party/icu", - ], - # Consolidated string functions that depend on icu. "net_string_util_icu\.cc": [ "+base/i18n/i18n_constants.h", diff --git a/net/base/net_util_icu.cc b/net/base/directory_listing.cc index 62766c1..25d98bc 100644 --- a/net/base/net_util_icu.cc +++ b/net/base/directory_listing.cc @@ -1,18 +1,40 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "net/base/net_util.h" +#include "net/base/directory_listing.h" #include "base/i18n/time_formatting.h" #include "base/json/string_escape.h" +#include "base/logging.h" +#include "base/strings/string_piece.h" #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" #include "base/time/time.h" #include "net/base/escape.h" +#include "net/base/net_module.h" +#include "net/grit/net_resources.h" namespace net { +std::string GetDirectoryListingHeader(const base::string16& title) { + static const base::StringPiece header( + NetModule::GetResource(IDR_DIR_HEADER_HTML)); + // This can be null in unit tests. + DLOG_IF(WARNING, header.empty()) + << "Missing resource: directory listing header"; + + std::string result; + if (!header.empty()) + result.assign(header.data(), header.size()); + + result.append("<script>start("); + base::EscapeJSONString(title, true, &result); + result.append(");</script>\n"); + + return result; +} + std::string GetDirectoryListingEntry(const base::string16& name, const std::string& raw_bytes, bool is_dir, diff --git a/net/base/directory_listing.h b/net/base/directory_listing.h new file mode 100644 index 0000000..7f6301a --- /dev/null +++ b/net/base/directory_listing.h @@ -0,0 +1,44 @@ +// Copyright 2015 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef NET_BASE_DIRECTORY_LISTING_H_ +#define NET_BASE_DIRECTORY_LISTING_H_ + +#include <stdint.h> +#include <string> + +#include "base/strings/string16.h" +#include "net/base/net_export.h" + +namespace base { +class Time; +} + +namespace net { + +// Call these functions to get the html snippet for a directory listing. +// The return values of both functions are in UTF-8. +NET_EXPORT std::string GetDirectoryListingHeader(const base::string16& title); + +// Given the name of a file in a directory (ftp or local) and +// other information (is_dir, size, modification time), it returns +// the html snippet to add the entry for the file to the directory listing. +// Currently, it's a script tag containing a call to a Javascript function +// |addRow|. +// +// |name| is the file name to be displayed. |raw_bytes| will be used +// as the actual target of the link (so for example, ftp links should use +// server's encoding). If |raw_bytes| is an empty string, UTF-8 encoded |name| +// will be used. +// +// Both |name| and |raw_bytes| are escaped internally. +NET_EXPORT std::string GetDirectoryListingEntry(const base::string16& name, + const std::string& raw_bytes, + bool is_dir, + int64_t size, + base::Time modified); + +} // namespace net + +#endif // NET_BASE_DIRECTORY_LISTING_H_ diff --git a/net/base/net_util_icu_unittest.cc b/net/base/directory_listing_unittest.cc index cac922f..7470c2a 100644 --- a/net/base/net_util_icu_unittest.cc +++ b/net/base/directory_listing_unittest.cc @@ -2,16 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "net/base/net_util.h" - -#include <stdint.h> - -#include <string> +#include "net/base/directory_listing.h" #include "base/strings/utf_string_conversions.h" #include "base/time/time.h" #include "testing/gtest/include/gtest/gtest.h" -#include "url/gurl.h" namespace net { @@ -26,7 +21,7 @@ struct GetDirectoryListingEntryCase { const char* const expected; }; -TEST(NetUtilTest, GetDirectoryListingEntry) { +TEST(DirectoryListingTest, GetDirectoryListingEntry) { const GetDirectoryListingEntryCase test_cases[] = { {L"Foo", "", diff --git a/net/base/net_util.cc b/net/base/net_util.cc index 52c8bf8..afd4824 100644 --- a/net/base/net_util.cc +++ b/net/base/net_util.cc @@ -23,7 +23,6 @@ #include <unistd.h> #endif // defined(OS_POSIX) -#include "base/json/string_escape.h" #include "base/logging.h" #include "base/strings/string_split.h" #include "base/strings/string_util.h" @@ -34,10 +33,8 @@ #include "net/base/address_list.h" #include "net/base/escape.h" #include "net/base/ip_address_number.h" -#include "net/base/net_module.h" #include "net/base/registry_controlled_domains/registry_controlled_domain.h" #include "net/base/url_util.h" -#include "net/grit/net_resources.h" #include "url/gurl.h" #include "url/third_party/mozilla/url_parse.h" #include "url/url_canon.h" @@ -97,24 +94,6 @@ std::string CanonicalizeHost(const std::string& host, return canon_host; } -std::string GetDirectoryListingHeader(const base::string16& title) { - static const base::StringPiece header( - NetModule::GetResource(IDR_DIR_HEADER_HTML)); - // This can be null in unit tests. - DLOG_IF(WARNING, header.empty()) << - "Missing resource: directory listing header"; - - std::string result; - if (!header.empty()) - result.assign(header.data(), header.size()); - - result.append("<script>start("); - base::EscapeJSONString(title, true, &result); - result.append(");</script>\n"); - - return result; -} - inline bool IsHostCharAlphanumeric(char c) { // We can just check lowercase because uppercase characters have already been // normalized. diff --git a/net/base/net_util.h b/net/base/net_util.h index 85851b8..eb869b4 100644 --- a/net/base/net_util.h +++ b/net/base/net_util.h @@ -117,28 +117,6 @@ NET_EXPORT std::string CanonicalizeHost(const std::string& host, // CanonicalizeHost(), or you may not get accurate results. NET_EXPORT bool IsCanonicalizedHostCompliant(const std::string& host); -// Call these functions to get the html snippet for a directory listing. -// The return values of both functions are in UTF-8. -NET_EXPORT std::string GetDirectoryListingHeader(const base::string16& title); - -// Given the name of a file in a directory (ftp or local) and -// other information (is_dir, size, modification time), it returns -// the html snippet to add the entry for the file to the directory listing. -// Currently, it's a script tag containing a call to a Javascript function -// |addRow|. -// -// |name| is the file name to be displayed. |raw_bytes| will be used -// as the actual target of the link (so for example, ftp links should use -// server's encoding). If |raw_bytes| is an empty string, UTF-8 encoded |name| -// will be used. -// -// Both |name| and |raw_bytes| are escaped internally. -NET_EXPORT std::string GetDirectoryListingEntry(const base::string16& name, - const std::string& raw_bytes, - bool is_dir, - int64_t size, - base::Time modified); - // Strip the portions of |url| that aren't core to the network request. // - user name / password // - reference section diff --git a/net/net.gyp b/net/net.gyp index c7c9917..950c7b97 100644 --- a/net/net.gyp +++ b/net/net.gyp @@ -117,7 +117,6 @@ 'sources': [ 'base/filename_util_icu.cc', 'base/net_string_util_icu.cc', - 'base/net_util_icu.cc', 'filter/brotli_filter.cc', ], 'includes': [ 'net_common.gypi' ], diff --git a/net/net.gypi b/net/net.gypi index 50b52fb..eddea8a 100644 --- a/net/net.gypi +++ b/net/net.gypi @@ -28,10 +28,10 @@ 'base/host_port_pair.h', 'base/io_buffer.cc', 'base/io_buffer.h', - 'base/ip_address_number.cc', - 'base/ip_address_number.h', 'base/ip_address.cc', 'base/ip_address.h', + 'base/ip_address_number.cc', + 'base/ip_address_number.h', 'base/ip_endpoint.cc', 'base/ip_endpoint.h', 'base/load_timing_info.cc', @@ -101,12 +101,12 @@ 'cert/internal/signature_algorithm.h', 'cert/internal/signature_policy.cc', 'cert/internal/signature_policy.h', + 'cert/internal/verify_certificate_chain.cc', + 'cert/internal/verify_certificate_chain.h', 'cert/internal/verify_name_match.cc', 'cert/internal/verify_name_match.h', 'cert/internal/verify_signed_data.cc', 'cert/internal/verify_signed_data.h', - 'cert/internal/verify_certificate_chain.cc', - 'cert/internal/verify_certificate_chain.h', 'cert/pem_tokenizer.cc', 'cert/pem_tokenizer.h', 'cert/sha256_legacy_support_win.cc', @@ -135,10 +135,10 @@ 'der/tag.h', 'dns/dns_util.cc', 'dns/dns_util.h', - 'http/http_auth_scheme.cc', - 'http/http_auth_scheme.h', 'http/http_auth_challenge_tokenizer.cc', 'http/http_auth_challenge_tokenizer.h', + 'http/http_auth_scheme.cc', + 'http/http_auth_scheme.h', 'http/http_byte_range.cc', 'http/http_byte_range.h', 'http/http_log_util.cc', @@ -992,6 +992,8 @@ 'quic/crypto/aead_base_encrypter_nss.cc', 'quic/crypto/aes_128_gcm_12_decrypter_nss.cc', 'quic/crypto/aes_128_gcm_12_encrypter_nss.cc', + 'quic/crypto/cert_compressor.cc', + 'quic/crypto/cert_compressor.h', 'quic/crypto/chacha20_poly1305_decrypter_nss.cc', 'quic/crypto/chacha20_poly1305_encrypter_nss.cc', 'quic/crypto/chacha20_poly1305_rfc7539_decrypter_nss.cc', @@ -1001,39 +1003,37 @@ 'quic/crypto/proof_source_chromium.h', 'quic/crypto/proof_source_chromium_nss.cc', 'quic/crypto/proof_source_chromium_openssl.cc', - 'quic/quic_chromium_client_session.cc', - 'quic/quic_chromium_client_session.h', - 'quic/quic_client_session_base.cc', - 'quic/quic_client_session_base.h', - 'quic/quic_headers_stream.cc', - 'quic/quic_headers_stream.h', - 'quic/quic_http_stream.cc', - 'quic/quic_http_stream.h', - 'quic/quic_http_utils.cc', - 'quic/quic_http_utils.h', - 'quic/quic_stream_factory.cc', - 'quic/quic_stream_factory.h', - 'quic/spdy_utils.cc', - 'quic/crypto/cert_compressor.cc', - 'quic/crypto/cert_compressor.h', 'quic/crypto/quic_crypto_client_config.cc', 'quic/crypto/quic_crypto_client_config.h', 'quic/crypto/quic_crypto_server_config.cc', 'quic/crypto/quic_crypto_server_config.h', 'quic/network_connection.cc', 'quic/network_connection.h', + 'quic/quic_chromium_client_session.cc', + 'quic/quic_chromium_client_session.h', + 'quic/quic_client_session_base.cc', + 'quic/quic_client_session_base.h', 'quic/quic_crypto_client_stream.cc', 'quic/quic_crypto_client_stream.h', 'quic/quic_crypto_client_stream_factory.cc', 'quic/quic_crypto_client_stream_factory.h', 'quic/quic_crypto_server_stream.cc', 'quic/quic_crypto_server_stream.h', + 'quic/quic_headers_stream.cc', + 'quic/quic_headers_stream.h', + 'quic/quic_http_stream.cc', + 'quic/quic_http_stream.h', + 'quic/quic_http_utils.cc', + 'quic/quic_http_utils.h', 'quic/quic_reliable_client_stream.cc', 'quic/quic_reliable_client_stream.h', 'quic/quic_spdy_session.cc', 'quic/quic_spdy_session.h', 'quic/quic_spdy_stream.cc', 'quic/quic_spdy_stream.h', + 'quic/quic_stream_factory.cc', + 'quic/quic_stream_factory.h', + 'quic/spdy_utils.cc', 'quic/spdy_utils.h', 'sdch/sdch_owner.cc', 'sdch/sdch_owner.h', @@ -1117,6 +1117,7 @@ 'spdy/hpack/hpack_output_stream.h', 'spdy/hpack/hpack_static_table.cc', 'spdy/hpack/hpack_static_table.h', + 'spdy/priority_write_scheduler.h', 'spdy/spdy_alt_svc_wire_format.cc', 'spdy/spdy_alt_svc_wire_format.h', 'spdy/spdy_bitmasks.h', @@ -1161,7 +1162,6 @@ 'spdy/spdy_write_queue.cc', 'spdy/spdy_write_queue.h', 'spdy/write_blocked_list.h', - 'spdy/priority_write_scheduler.h', 'ssl/client_cert_store.h', 'ssl/client_cert_store_mac.cc', 'ssl/client_cert_store_mac.h', @@ -1174,11 +1174,11 @@ 'ssl/ssl_key_logger.cc', 'ssl/ssl_key_logger.h', 'ssl/ssl_platform_key.h', - 'ssl/ssl_platform_key_task_runner.cc', - 'ssl/ssl_platform_key_task_runner.h', 'ssl/ssl_platform_key_android.cc', 'ssl/ssl_platform_key_mac.cc', 'ssl/ssl_platform_key_nss.cc', + 'ssl/ssl_platform_key_task_runner.cc', + 'ssl/ssl_platform_key_task_runner.h', 'ssl/ssl_platform_key_win.cc', 'ssl/threaded_ssl_private_key.cc', 'ssl/threaded_ssl_private_key.h', @@ -1302,6 +1302,7 @@ 'base/chunked_upload_data_stream_unittest.cc', 'base/data_url_unittest.cc', 'base/directory_lister_unittest.cc', + 'base/directory_listing_unittest.cc', 'base/elements_upload_data_stream_unittest.cc', 'base/escape_unittest.cc', 'base/expiring_cache_unittest.cc', @@ -1319,7 +1320,6 @@ 'base/lookup_string_in_fixed_set_unittest.cc', 'base/mime_sniffer_unittest.cc', 'base/mime_util_unittest.cc', - 'base/net_util_icu_unittest.cc', 'base/net_util_unittest.cc', 'base/network_activity_monitor_unittest.cc', 'base/network_change_notifier_unittest.cc', @@ -1332,8 +1332,8 @@ 'base/registry_controlled_domains/registry_controlled_domain_unittest.cc', 'base/sdch_dictionary_unittest.cc', 'base/sdch_manager_unittest.cc', - 'base/static_cookie_policy_unittest.cc', 'base/stale_while_revalidate_experiment_domains_unittest.cc', + 'base/static_cookie_policy_unittest.cc', 'base/test_completion_callback_unittest.cc', 'base/upload_bytes_element_reader_unittest.cc', 'base/upload_file_element_reader_unittest.cc', @@ -1559,8 +1559,8 @@ 'quic/crypto/quic_crypto_server_config_test.cc', 'quic/crypto/quic_random_test.cc', 'quic/crypto/strike_register_test.cc', - 'quic/interval_test.cc', 'quic/interval_set_test.cc', + 'quic/interval_test.cc', 'quic/iovector_test.cc', 'quic/network_connection_unittest.cc', 'quic/p2p/quic_p2p_session_test.cc', @@ -1708,6 +1708,7 @@ 'spdy/hpack/hpack_static_table_test.cc', 'spdy/mock_spdy_framer_visitor.cc', 'spdy/mock_spdy_framer_visitor.h', + 'spdy/priority_write_scheduler_test.cc', 'spdy/spdy_alt_svc_wire_format_test.cc', 'spdy/spdy_buffer_unittest.cc', 'spdy/spdy_frame_builder_test.cc', @@ -1736,7 +1737,6 @@ 'spdy/spdy_test_utils.cc', 'spdy/spdy_test_utils.h', 'spdy/spdy_write_queue_unittest.cc', - 'spdy/priority_write_scheduler_test.cc', 'spdy/write_blocked_list_test.cc', 'ssl/channel_id_service_unittest.cc', 'ssl/client_cert_store_mac_unittest.cc', @@ -1822,7 +1822,6 @@ 'tools/quic/quic_simple_server_session_test.cc', 'tools/quic/quic_simple_server_test.cc', 'tools/quic/quic_spdy_client_stream_test.cc', - 'tools/quic/quic_simple_server_stream_test.cc', 'tools/quic/quic_time_wait_list_manager_test.cc', 'tools/quic/spdy_balsa_utils_test.cc', 'tools/quic/test_tools/http_message.cc', @@ -1862,6 +1861,8 @@ 'net_file_support_sources': [ "base/directory_lister.cc", "base/directory_lister.h", + "base/directory_listing.cc", + "base/directory_listing.h", "url_request/file_protocol_handler.cc", "url_request/file_protocol_handler.h", "url_request/url_request_file_dir_job.cc", diff --git a/net/url_request/url_request_file_dir_job.cc b/net/url_request/url_request_file_dir_job.cc index 1dafbf2..b331e44 100644 --- a/net/url_request/url_request_file_dir_job.cc +++ b/net/url_request/url_request_file_dir_job.cc @@ -12,8 +12,8 @@ #include "base/strings/utf_string_conversions.h" #include "base/thread_task_runner_handle.h" #include "base/time/time.h" +#include "net/base/directory_listing.h" #include "net/base/io_buffer.h" -#include "net/base/net_util.h" #include "net/url_request/url_request_status.h" #include "url/gurl.h" diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc index eea6a69..78e44c9 100644 --- a/net/url_request/url_request_unittest.cc +++ b/net/url_request/url_request_unittest.cc @@ -43,6 +43,7 @@ #include "base/thread_task_runner_handle.h" #include "base/values.h" #include "net/base/chunked_upload_data_stream.h" +#include "net/base/directory_listing.h" #include "net/base/elements_upload_data_stream.h" #include "net/base/external_estimate_provider.h" #include "net/base/load_flags.h" diff --git a/storage/browser/fileapi/file_system_dir_url_request_job.cc b/storage/browser/fileapi/file_system_dir_url_request_job.cc index 0c3ef36..b280d55 100644 --- a/storage/browser/fileapi/file_system_dir_url_request_job.cc +++ b/storage/browser/fileapi/file_system_dir_url_request_job.cc @@ -15,8 +15,8 @@ #include "base/strings/utf_string_conversions.h" #include "base/time/time.h" #include "build/build_config.h" +#include "net/base/directory_listing.h" #include "net/base/io_buffer.h" -#include "net/base/net_util.h" #include "net/url_request/url_request.h" #include "storage/browser/fileapi/file_system_context.h" #include "storage/browser/fileapi/file_system_operation_runner.h" |