summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/gn/BUILD.gn1
-rw-r--r--tools/gn/gn.gyp1
-rw-r--r--tools/gn/scope_per_file_provider.cc30
-rw-r--r--tools/gn/scope_per_file_provider.h8
-rw-r--r--tools/gn/scope_per_file_provider_unittest.cc50
-rw-r--r--tools/gn/secondary/net/BUILD.gn1179
-rw-r--r--tools/gn/secondary/net/third_party/nss/ssl/BUILD.gn9
-rw-r--r--tools/gn/secondary/tools/grit/grit_rule.gni15
-rw-r--r--tools/gn/toolchain_manager.cc2
-rw-r--r--tools/gn/variables.cc44
-rw-r--r--tools/gn/variables.h8
11 files changed, 1332 insertions, 15 deletions
diff --git a/tools/gn/BUILD.gn b/tools/gn/BUILD.gn
index a2647e2..946c075 100644
--- a/tools/gn/BUILD.gn
+++ b/tools/gn/BUILD.gn
@@ -159,6 +159,7 @@ test("gn_unittests") {
"parser_unittest.cc",
"path_output_unittest.cc",
"pattern_unittest.cc",
+ "scope_per_file_provider_unittest.cc",
"source_dir_unittest.cc",
"string_utils_unittest.cc",
"target_generator_unittest.cc",
diff --git a/tools/gn/gn.gyp b/tools/gn/gn.gyp
index f86a520..5781f8b 100644
--- a/tools/gn/gn.gyp
+++ b/tools/gn/gn.gyp
@@ -169,6 +169,7 @@
'parser_unittest.cc',
'path_output_unittest.cc',
'pattern_unittest.cc',
+ 'scope_per_file_provider_unittest.cc',
'source_dir_unittest.cc',
'string_utils_unittest.cc',
'target_generator_unittest.cc',
diff --git a/tools/gn/scope_per_file_provider.cc b/tools/gn/scope_per_file_provider.cc
index 6e61dad..28f7e79 100644
--- a/tools/gn/scope_per_file_provider.cc
+++ b/tools/gn/scope_per_file_provider.cc
@@ -11,10 +11,8 @@
#include "tools/gn/value.h"
#include "tools/gn/variables.h"
-ScopePerFileProvider::ScopePerFileProvider(Scope* scope,
- const SourceFile& source_file)
- : ProgrammaticProvider(scope),
- source_file_(source_file) {
+ScopePerFileProvider::ScopePerFileProvider(Scope* scope)
+ : ProgrammaticProvider(scope) {
}
ScopePerFileProvider::~ScopePerFileProvider() {
@@ -41,6 +39,10 @@ const Value* ScopePerFileProvider::GetProgrammaticValue(
return GetRelativeTargetOutputDir();
if (ident == variables::kRelativeTargetGenDir)
return GetRelativeTargetGenDir();
+ if (ident == variables::kRootGenDir)
+ return GetRootGenDir();
+ if (ident == variables::kTargetGenDir)
+ return GetTargetGenDir();
return NULL;
}
@@ -111,7 +113,7 @@ const Value* ScopePerFileProvider::GetRelativeTargetOutputDir() {
if (!relative_target_output_dir_) {
relative_target_output_dir_.reset(new Value(NULL,
GetRelativeRootWithNoLastSlash() +
- GetRootOutputDirWithNoLastSlash(scope_->settings()) + "obj/" +
+ GetRootOutputDirWithNoLastSlash(scope_->settings()) + "/obj" +
GetFileDirWithNoLastSlash()));
}
return relative_target_output_dir_.get();
@@ -127,6 +129,24 @@ const Value* ScopePerFileProvider::GetRelativeTargetGenDir() {
return relative_target_gen_dir_.get();
}
+const Value* ScopePerFileProvider::GetRootGenDir() {
+ if (!root_gen_dir_) {
+ root_gen_dir_.reset(new Value(NULL,
+ "/" + GetRootGenDirWithNoLastSlash(scope_->settings())));
+ }
+ return root_gen_dir_.get();
+}
+
+const Value* ScopePerFileProvider::GetTargetGenDir() {
+ if (!target_gen_dir_) {
+ target_gen_dir_.reset(new Value(NULL,
+ "/" +
+ GetRootGenDirWithNoLastSlash(scope_->settings()) +
+ GetFileDirWithNoLastSlash()));
+ }
+ return target_gen_dir_.get();
+}
+
// static
std::string ScopePerFileProvider::GetRootOutputDirWithNoLastSlash(
const Settings* settings) {
diff --git a/tools/gn/scope_per_file_provider.h b/tools/gn/scope_per_file_provider.h
index 27443b4..9e96d7b 100644
--- a/tools/gn/scope_per_file_provider.h
+++ b/tools/gn/scope_per_file_provider.h
@@ -14,7 +14,7 @@
// variable support.
class ScopePerFileProvider : public Scope::ProgrammaticProvider {
public:
- ScopePerFileProvider(Scope* scope, const SourceFile& source_file);
+ ScopePerFileProvider(Scope* scope);
virtual ~ScopePerFileProvider();
// ProgrammaticProvider implementation.
@@ -31,6 +31,8 @@ class ScopePerFileProvider : public Scope::ProgrammaticProvider {
const Value* GetRelativeSourceRootDir();
const Value* GetRelativeTargetOutputDir();
const Value* GetRelativeTargetGenDir();
+ const Value* GetRootGenDir();
+ const Value* GetTargetGenDir();
static std::string GetRootOutputDirWithNoLastSlash(const Settings* settings);
static std::string GetRootGenDirWithNoLastSlash(const Settings* settings);
@@ -42,8 +44,6 @@ class ScopePerFileProvider : public Scope::ProgrammaticProvider {
// result would be empty, "." is returned to indicate the current dir.
static std::string InvertDirWithNoLastSlash(const SourceDir& dir);
- SourceFile source_file_;
-
// All values are lazily created.
scoped_ptr<Value> current_toolchain_;
scoped_ptr<Value> default_toolchain_;
@@ -54,6 +54,8 @@ class ScopePerFileProvider : public Scope::ProgrammaticProvider {
scoped_ptr<Value> relative_source_root_dir_;
scoped_ptr<Value> relative_target_output_dir_;
scoped_ptr<Value> relative_target_gen_dir_;
+ scoped_ptr<Value> root_gen_dir_;
+ scoped_ptr<Value> target_gen_dir_;
DISALLOW_COPY_AND_ASSIGN(ScopePerFileProvider);
};
diff --git a/tools/gn/scope_per_file_provider_unittest.cc b/tools/gn/scope_per_file_provider_unittest.cc
new file mode 100644
index 0000000..7e195ce
--- /dev/null
+++ b/tools/gn/scope_per_file_provider_unittest.cc
@@ -0,0 +1,50 @@
+// Copyright (c) 2013 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 "testing/gtest/include/gtest/gtest.h"
+#include "tools/gn/build_settings.h"
+#include "tools/gn/scope_per_file_provider.h"
+#include "tools/gn/settings.h"
+#include "tools/gn/toolchain.h"
+#include "tools/gn/variables.h"
+
+TEST(ScopePerFileProvider, Expected) {
+ Err err;
+
+ BuildSettings build_settings;
+ build_settings.toolchain_manager().SetDefaultToolchainUnlocked(
+ Label(SourceDir("//toolchain/"), "default", SourceDir(), ""),
+ LocationRange(), &err);
+ EXPECT_FALSE(err.has_error());
+
+ build_settings.SetBuildDir(SourceDir("//out/Debug/"));
+
+ Toolchain toolchain(Label(SourceDir("//toolchain/"), "tc", SourceDir(), ""));
+ Settings settings(&build_settings, &toolchain, std::string());
+ Scope scope(&settings);
+ scope.set_source_dir(SourceDir("//source/"));
+
+ ScopePerFileProvider provider(&scope);
+
+ EXPECT_EQ("//toolchain:tc", provider.GetProgrammaticValue(
+ variables::kCurrentToolchain)->string_value());
+ EXPECT_EQ("//toolchain:default", provider.GetProgrammaticValue(
+ variables::kDefaultToolchain)->string_value());
+ EXPECT_EQ("../..",provider.GetProgrammaticValue(
+ variables::kRelativeBuildToSourceRootDir)->string_value());
+ EXPECT_EQ("../out/Debug", provider.GetProgrammaticValue(
+ variables::kRelativeRootOutputDir)->string_value());
+ EXPECT_EQ("../out/Debug/gen", provider.GetProgrammaticValue(
+ variables::kRelativeRootGenDir)->string_value());
+ EXPECT_EQ("..", provider.GetProgrammaticValue(
+ variables::kRelativeSourceRootDir)->string_value());
+ EXPECT_EQ("../out/Debug/obj/source", provider.GetProgrammaticValue(
+ variables::kRelativeTargetOutputDir)->string_value());
+ EXPECT_EQ("../out/Debug/gen/source", provider.GetProgrammaticValue(
+ variables::kRelativeTargetGenDir)->string_value());
+ EXPECT_EQ("//out/Debug/gen",provider.GetProgrammaticValue(
+ variables::kRootGenDir)->string_value());
+ EXPECT_EQ("//out/Debug/gen/source",provider.GetProgrammaticValue(
+ variables::kTargetGenDir)->string_value());
+}
diff --git a/tools/gn/secondary/net/BUILD.gn b/tools/gn/secondary/net/BUILD.gn
index cf70629..4d3e8f3 100644
--- a/tools/gn/secondary/net/BUILD.gn
+++ b/tools/gn/secondary/net/BUILD.gn
@@ -2,23 +2,1200 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import("//crypto/ssl/flags.gni")
import("//tools/grit/grit_rule.gni")
component("net") {
+ sources = [
+ "android/cert_verify_result_android.h",
+ "android/cert_verify_result_android_list.h",
+ "android/gurl_utils.cc",
+ "android/gurl_utils.h",
+ "android/keystore.cc",
+ "android/keystore.h",
+ "android/keystore_openssl.cc",
+ "android/keystore_openssl.h",
+ "android/net_jni_registrar.cc",
+ "android/net_jni_registrar.h",
+ "android/network_change_notifier_android.cc",
+ "android/network_change_notifier_android.h",
+ "android/network_change_notifier_delegate_android.cc",
+ "android/network_change_notifier_delegate_android.h",
+ "android/network_change_notifier_factory_android.cc",
+ "android/network_change_notifier_factory_android.h",
+ "android/network_library.cc",
+ "android/network_library.h",
+ "base/address_family.h",
+ "base/address_list.cc",
+ "base/address_list.h",
+ "base/address_tracker_linux.cc",
+ "base/address_tracker_linux.h",
+ "base/auth.cc",
+ "base/auth.h",
+ "base/backoff_entry.cc",
+ "base/backoff_entry.h",
+ "base/bandwidth_metrics.cc",
+ "base/bandwidth_metrics.h",
+ "base/big_endian.cc",
+ "base/big_endian.h",
+ "base/cache_type.h",
+ "base/completion_callback.h",
+ "base/connection_type_histograms.cc",
+ "base/connection_type_histograms.h",
+ "base/crypto_module.h",
+ "base/crypto_module_nss.cc",
+ "base/crypto_module_openssl.cc",
+ "base/data_url.cc",
+ "base/data_url.h",
+ "base/directory_lister.cc",
+ "base/directory_lister.h",
+ "base/dns_reloader.cc",
+ "base/dns_reloader.h",
+ "base/dns_util.cc",
+ "base/dns_util.h",
+ "base/escape.cc",
+ "base/escape.h",
+ "base/expiring_cache.h",
+ "base/file_stream.cc",
+ "base/file_stream.h",
+ "base/file_stream_context.cc",
+ "base/file_stream_context.h",
+ "base/file_stream_context_posix.cc",
+ "base/file_stream_context_win.cc",
+ "base/file_stream_metrics.cc",
+ "base/file_stream_metrics.h",
+ "base/file_stream_metrics_posix.cc",
+ "base/file_stream_metrics_win.cc",
+ "base/file_stream_net_log_parameters.cc",
+ "base/file_stream_net_log_parameters.h",
+ "base/file_stream_whence.h",
+ "base/filter.cc",
+ "base/filter.h",
+ "base/int128.cc",
+ "base/int128.h",
+ "base/gzip_filter.cc",
+ "base/gzip_filter.h",
+ "base/gzip_header.cc",
+ "base/gzip_header.h",
+ "base/hash_value.cc",
+ "base/hash_value.h",
+ "base/host_mapping_rules.cc",
+ "base/host_mapping_rules.h",
+ "base/host_port_pair.cc",
+ "base/host_port_pair.h",
+ "base/io_buffer.cc",
+ "base/io_buffer.h",
+ "base/iovec.h",
+ "base/ip_endpoint.cc",
+ "base/ip_endpoint.h",
+ "base/keygen_handler.cc",
+ "base/keygen_handler.h",
+ "base/keygen_handler_mac.cc",
+ "base/keygen_handler_nss.cc",
+ "base/keygen_handler_openssl.cc",
+ "base/keygen_handler_win.cc",
+ "base/linked_hash_map.h",
+ "base/load_flags.h",
+ "base/load_flags_list.h",
+ "base/load_states.h",
+ "base/load_states_list.h",
+ "base/load_timing_info.cc",
+ "base/load_timing_info.h",
+ "base/mime_sniffer.cc",
+ "base/mime_sniffer.h",
+ "base/mime_util.cc",
+ "base/mime_util.h",
+ "base/net_error_list.h",
+ "base/net_errors.cc",
+ "base/net_errors.h",
+ "base/net_errors_posix.cc",
+ "base/net_errors_win.cc",
+ "base/net_export.h",
+ "base/net_log.cc",
+ "base/net_log.h",
+ "base/net_log_logger.cc",
+ "base/net_log_logger.h",
+ "base/net_log_event_type_list.h",
+ "base/net_log_source_type_list.h",
+ "base/net_module.cc",
+ "base/net_module.h",
+ "base/net_util.cc",
+ "base/net_util.h",
+ "base/net_util_posix.cc",
+ "base/net_util_win.cc",
+ "base/network_change_notifier.cc",
+ "base/network_change_notifier.h",
+ "base/network_change_notifier_factory.h",
+ "base/network_change_notifier_linux.cc",
+ "base/network_change_notifier_linux.h",
+ "base/network_change_notifier_mac.cc",
+ "base/network_change_notifier_mac.h",
+ "base/network_change_notifier_win.cc",
+ "base/network_change_notifier_win.h",
+ "base/network_config_watcher_mac.cc",
+ "base/network_config_watcher_mac.h",
+ "base/network_delegate.cc",
+ "base/network_delegate.h",
+ "base/network_time_notifier.cc",
+ "base/network_time_notifier.h",
+ "base/nss_memio.c",
+ "base/nss_memio.h",
+ "base/openssl_private_key_store.h",
+ "base/openssl_private_key_store_android.cc",
+ "base/openssl_private_key_store_memory.cc",
+ "base/platform_mime_util.h",
+ # TODO(tc): gnome-vfs? xdgmime? /etc/mime.types?
+ "base/platform_mime_util_linux.cc",
+ "base/platform_mime_util_mac.mm",
+ "base/platform_mime_util_win.cc",
+ "base/prioritized_dispatcher.cc",
+ "base/prioritized_dispatcher.h",
+ "base/priority_queue.h",
+ "base/rand_callback.h",
+ "base/registry_controlled_domains/registry_controlled_domain.cc",
+ "base/registry_controlled_domains/registry_controlled_domain.h",
+ "base/request_priority.h",
+ "base/sdch_filter.cc",
+ "base/sdch_filter.h",
+ "base/sdch_manager.cc",
+ "base/sdch_manager.h",
+ "base/static_cookie_policy.cc",
+ "base/static_cookie_policy.h",
+ "base/sys_addrinfo.h",
+ "base/test_data_stream.cc",
+ "base/test_data_stream.h",
+ "base/upload_bytes_element_reader.cc",
+ "base/upload_bytes_element_reader.h",
+ "base/upload_data.cc",
+ "base/upload_data.h",
+ "base/upload_data_stream.cc",
+ "base/upload_data_stream.h",
+ "base/upload_element.cc",
+ "base/upload_element.h",
+ "base/upload_element_reader.cc",
+ "base/upload_element_reader.h",
+ "base/upload_file_element_reader.cc",
+ "base/upload_file_element_reader.h",
+ "base/upload_progress.h",
+ "base/url_util.cc",
+ "base/url_util.h",
+ "base/winsock_init.cc",
+ "base/winsock_init.h",
+ "base/winsock_util.cc",
+ "base/winsock_util.h",
+ "base/zap.cc",
+ "base/zap.h",
+ "cert/asn1_util.cc",
+ "cert/asn1_util.h",
+ "cert/cert_database.cc",
+ "cert/cert_database.h",
+ "cert/cert_database_android.cc",
+ "cert/cert_database_ios.cc",
+ "cert/cert_database_mac.cc",
+ "cert/cert_database_nss.cc",
+ "cert/cert_database_openssl.cc",
+ "cert/cert_database_win.cc",
+ "cert/cert_status_flags.cc",
+ "cert/cert_status_flags.h",
+ "cert/cert_trust_anchor_provider.h",
+ "cert/cert_verifier.cc",
+ "cert/cert_verifier.h",
+ "cert/cert_verify_proc.cc",
+ "cert/cert_verify_proc.h",
+ "cert/cert_verify_proc_android.cc",
+ "cert/cert_verify_proc_android.h",
+ "cert/cert_verify_proc_mac.cc",
+ "cert/cert_verify_proc_mac.h",
+ "cert/cert_verify_proc_nss.cc",
+ "cert/cert_verify_proc_nss.h",
+ "cert/cert_verify_proc_openssl.cc",
+ "cert/cert_verify_proc_openssl.h",
+ "cert/cert_verify_proc_win.cc",
+ "cert/cert_verify_proc_win.h",
+ "cert/cert_verify_result.cc",
+ "cert/cert_verify_result.h",
+ "cert/crl_set.cc",
+ "cert/crl_set.h",
+ "cert/ev_root_ca_metadata.cc",
+ "cert/ev_root_ca_metadata.h",
+ "cert/jwk_serializer_nss.cc",
+ "cert/jwk_serializer_openssl.cc",
+ "cert/jwk_serializer.h",
+ "cert/multi_threaded_cert_verifier.cc",
+ "cert/multi_threaded_cert_verifier.h",
+ "cert/nss_cert_database.cc",
+ "cert/nss_cert_database.h",
+ "cert/pem_tokenizer.cc",
+ "cert/pem_tokenizer.h",
+ "cert/single_request_cert_verifier.cc",
+ "cert/single_request_cert_verifier.h",
+ "cert/test_root_certs.cc",
+ "cert/test_root_certs.h",
+ "cert/test_root_certs_mac.cc",
+ "cert/test_root_certs_nss.cc",
+ "cert/test_root_certs_openssl.cc",
+ "cert/test_root_certs_android.cc",
+ "cert/test_root_certs_win.cc",
+ "cert/x509_cert_types.cc",
+ "cert/x509_cert_types.h",
+ "cert/x509_cert_types_mac.cc",
+ "cert/x509_cert_types_win.cc",
+ "cert/x509_certificate.cc",
+ "cert/x509_certificate.h",
+ "cert/x509_certificate_ios.cc",
+ "cert/x509_certificate_mac.cc",
+ "cert/x509_certificate_net_log_param.cc",
+ "cert/x509_certificate_net_log_param.h",
+ "cert/x509_certificate_nss.cc",
+ "cert/x509_certificate_openssl.cc",
+ "cert/x509_certificate_win.cc",
+ "cert/x509_util.h",
+ "cert/x509_util.cc",
+ "cert/x509_util_ios.cc",
+ "cert/x509_util_ios.h",
+ "cert/x509_util_mac.cc",
+ "cert/x509_util_mac.h",
+ "cert/x509_util_nss.cc",
+ "cert/x509_util_nss.h",
+ "cert/x509_util_openssl.cc",
+ "cert/x509_util_openssl.h",
+ "cookies/canonical_cookie.cc",
+ "cookies/canonical_cookie.h",
+ "cookies/cookie_constants.cc",
+ "cookies/cookie_constants.h",
+ "cookies/cookie_monster.cc",
+ "cookies/cookie_monster.h",
+ "cookies/cookie_options.h",
+ "cookies/cookie_store.cc",
+ "cookies/cookie_store.h",
+ "cookies/cookie_util.cc",
+ "cookies/cookie_util.h",
+ "cookies/parsed_cookie.cc",
+ "cookies/parsed_cookie.h",
+ "disk_cache/addr.cc",
+ "disk_cache/addr.h",
+ "disk_cache/backend_impl.cc",
+ "disk_cache/backend_impl.h",
+ "disk_cache/bitmap.cc",
+ "disk_cache/bitmap.h",
+ "disk_cache/block_files.cc",
+ "disk_cache/block_files.h",
+ "disk_cache/cache_creator.cc",
+ "disk_cache/cache_util.h",
+ "disk_cache/cache_util.cc",
+ "disk_cache/cache_util_posix.cc",
+ "disk_cache/cache_util_win.cc",
+ "disk_cache/disk_cache.h",
+ "disk_cache/disk_format.cc",
+ "disk_cache/disk_format.h",
+ "disk_cache/disk_format_base.h",
+ "disk_cache/entry_impl.cc",
+ "disk_cache/entry_impl.h",
+ "disk_cache/errors.h",
+ "disk_cache/eviction.cc",
+ "disk_cache/eviction.h",
+ "disk_cache/experiments.h",
+ "disk_cache/file.cc",
+ "disk_cache/file.h",
+ "disk_cache/file_block.h",
+ "disk_cache/file_lock.cc",
+ "disk_cache/file_lock.h",
+ "disk_cache/file_posix.cc",
+ "disk_cache/file_win.cc",
+ "disk_cache/histogram_macros.h",
+ "disk_cache/in_flight_backend_io.cc",
+ "disk_cache/in_flight_backend_io.h",
+ "disk_cache/in_flight_io.cc",
+ "disk_cache/in_flight_io.h",
+ "disk_cache/mapped_file.h",
+ "disk_cache/mapped_file_posix.cc",
+ "disk_cache/mapped_file_avoid_mmap_posix.cc",
+ "disk_cache/mapped_file_win.cc",
+ "disk_cache/mem_backend_impl.cc",
+ "disk_cache/mem_backend_impl.h",
+ "disk_cache/mem_entry_impl.cc",
+ "disk_cache/mem_entry_impl.h",
+ "disk_cache/mem_rankings.cc",
+ "disk_cache/mem_rankings.h",
+ "disk_cache/net_log_parameters.cc",
+ "disk_cache/net_log_parameters.h",
+ "disk_cache/rankings.cc",
+ "disk_cache/rankings.h",
+ "disk_cache/sparse_control.cc",
+ "disk_cache/sparse_control.h",
+ "disk_cache/stats.cc",
+ "disk_cache/stats.h",
+ "disk_cache/stats_histogram.cc",
+ "disk_cache/stats_histogram.h",
+ "disk_cache/storage_block-inl.h",
+ "disk_cache/storage_block.h",
+ "disk_cache/stress_support.h",
+ "disk_cache/trace.cc",
+ "disk_cache/trace.h",
+ "disk_cache/tracing_cache_backend.cc",
+ "disk_cache/tracing_cache_backend.h",
+ "disk_cache/simple/simple_backend_impl.cc",
+ "disk_cache/simple/simple_backend_impl.h",
+ "disk_cache/simple/simple_entry_format.cc",
+ "disk_cache/simple/simple_entry_format.h",
+ "disk_cache/simple/simple_entry_impl.cc",
+ "disk_cache/simple/simple_entry_impl.h",
+ "disk_cache/simple/simple_entry_operation.cc",
+ "disk_cache/simple/simple_entry_operation.h",
+ "disk_cache/simple/simple_index.cc",
+ "disk_cache/simple/simple_index.h",
+ "disk_cache/simple/simple_index_file.cc",
+ "disk_cache/simple/simple_index_file.h",
+ "disk_cache/simple/simple_index_file_posix.cc",
+ "disk_cache/simple/simple_index_file_win.cc",
+ "disk_cache/simple/simple_net_log_parameters.cc",
+ "disk_cache/simple/simple_net_log_parameters.h",
+ "disk_cache/simple/simple_synchronous_entry.cc",
+ "disk_cache/simple/simple_synchronous_entry.h",
+ "disk_cache/simple/simple_util.cc",
+ "disk_cache/simple/simple_util.h",
+ "disk_cache/flash/flash_entry_impl.cc",
+ "disk_cache/flash/flash_entry_impl.h",
+ "disk_cache/flash/format.h",
+ "disk_cache/flash/internal_entry.cc",
+ "disk_cache/flash/internal_entry.h",
+ "disk_cache/flash/log_store.cc",
+ "disk_cache/flash/log_store.h",
+ "disk_cache/flash/log_store_entry.cc",
+ "disk_cache/flash/log_store_entry.h",
+ "disk_cache/flash/segment.cc",
+ "disk_cache/flash/segment.h",
+ "disk_cache/flash/storage.cc",
+ "disk_cache/flash/storage.h",
+ "disk_cache/v3/disk_format_v3.h",
+ "dns/address_sorter.h",
+ "dns/address_sorter_posix.cc",
+ "dns/address_sorter_posix.h",
+ "dns/address_sorter_win.cc",
+ "dns/dns_client.cc",
+ "dns/dns_client.h",
+ "dns/dns_config_service.cc",
+ "dns/dns_config_service.h",
+ "dns/dns_config_service_posix.cc",
+ "dns/dns_config_service_posix.h",
+ "dns/dns_config_service_win.cc",
+ "dns/dns_config_service_win.h",
+ "dns/dns_hosts.cc",
+ "dns/dns_hosts.h",
+ "dns/dns_protocol.h",
+ "dns/dns_query.cc",
+ "dns/dns_query.h",
+ "dns/dns_response.cc",
+ "dns/dns_response.h",
+ "dns/dns_session.cc",
+ "dns/dns_session.h",
+ "dns/dns_socket_pool.cc",
+ "dns/dns_socket_pool.h",
+ "dns/dns_transaction.cc",
+ "dns/dns_transaction.h",
+ "dns/host_cache.cc",
+ "dns/host_cache.h",
+ "dns/host_resolver.cc",
+ "dns/host_resolver.h",
+ "dns/host_resolver_impl.cc",
+ "dns/host_resolver_impl.h",
+ "dns/host_resolver_proc.cc",
+ "dns/host_resolver_proc.h",
+ "dns/mapped_host_resolver.cc",
+ "dns/mapped_host_resolver.h",
+ "dns/mdns_cache.cc",
+ "dns/mdns_cache.h",
+ "dns/mdns_client.cc",
+ "dns/mdns_client.h",
+ "dns/mdns_client_impl.cc",
+ "dns/mdns_client_impl.h",
+ "dns/notify_watcher_mac.cc",
+ "dns/notify_watcher_mac.h",
+ "dns/record_parsed.cc",
+ "dns/record_parsed.h",
+ "dns/record_rdata.cc",
+ "dns/record_rdata.h",
+ "dns/serial_worker.cc",
+ "dns/serial_worker.h",
+ "dns/single_request_host_resolver.cc",
+ "dns/single_request_host_resolver.h",
+ "ftp/ftp_auth_cache.cc",
+ "ftp/ftp_auth_cache.h",
+ "ftp/ftp_ctrl_response_buffer.cc",
+ "ftp/ftp_ctrl_response_buffer.h",
+ "ftp/ftp_directory_listing_parser.cc",
+ "ftp/ftp_directory_listing_parser.h",
+ "ftp/ftp_directory_listing_parser_ls.cc",
+ "ftp/ftp_directory_listing_parser_ls.h",
+ "ftp/ftp_directory_listing_parser_netware.cc",
+ "ftp/ftp_directory_listing_parser_netware.h",
+ "ftp/ftp_directory_listing_parser_os2.cc",
+ "ftp/ftp_directory_listing_parser_os2.h",
+ "ftp/ftp_directory_listing_parser_vms.cc",
+ "ftp/ftp_directory_listing_parser_vms.h",
+ "ftp/ftp_directory_listing_parser_windows.cc",
+ "ftp/ftp_directory_listing_parser_windows.h",
+ "ftp/ftp_network_layer.cc",
+ "ftp/ftp_network_layer.h",
+ "ftp/ftp_network_session.cc",
+ "ftp/ftp_network_session.h",
+ "ftp/ftp_network_transaction.cc",
+ "ftp/ftp_network_transaction.h",
+ "ftp/ftp_request_info.h",
+ "ftp/ftp_response_info.cc",
+ "ftp/ftp_response_info.h",
+ "ftp/ftp_server_type_histograms.cc",
+ "ftp/ftp_server_type_histograms.h",
+ "ftp/ftp_transaction.h",
+ "ftp/ftp_transaction_factory.h",
+ "ftp/ftp_util.cc",
+ "ftp/ftp_util.h",
+ "http/des.cc",
+ "http/des.h",
+ "http/http_atom_list.h",
+ "http/http_auth.cc",
+ "http/http_auth.h",
+ "http/http_auth_cache.cc",
+ "http/http_auth_cache.h",
+ "http/http_auth_controller.cc",
+ "http/http_auth_controller.h",
+ "http/http_auth_filter.cc",
+ "http/http_auth_filter.h",
+ "http/http_auth_filter_win.h",
+ "http/http_auth_gssapi_posix.cc",
+ "http/http_auth_gssapi_posix.h",
+ "http/http_auth_handler.cc",
+ "http/http_auth_handler.h",
+ "http/http_auth_handler_basic.cc",
+ "http/http_auth_handler_basic.h",
+ "http/http_auth_handler_digest.cc",
+ "http/http_auth_handler_digest.h",
+ "http/http_auth_handler_factory.cc",
+ "http/http_auth_handler_factory.h",
+ "http/http_auth_handler_negotiate.cc",
+ "http/http_auth_handler_negotiate.h",
+ "http/http_auth_handler_ntlm.cc",
+ "http/http_auth_handler_ntlm.h",
+ "http/http_auth_handler_ntlm_portable.cc",
+ "http/http_auth_handler_ntlm_win.cc",
+ "http/http_auth_sspi_win.cc",
+ "http/http_auth_sspi_win.h",
+ "http/http_basic_stream.cc",
+ "http/http_basic_stream.h",
+ "http/http_byte_range.cc",
+ "http/http_byte_range.h",
+ "http/http_cache.cc",
+ "http/http_cache.h",
+ "http/http_cache_transaction.cc",
+ "http/http_cache_transaction.h",
+ "http/http_content_disposition.cc",
+ "http/http_content_disposition.h",
+ "http/http_chunked_decoder.cc",
+ "http/http_chunked_decoder.h",
+ "http/http_network_layer.cc",
+ "http/http_network_layer.h",
+ "http/http_network_session.cc",
+ "http/http_network_session.h",
+ "http/http_network_session_peer.cc",
+ "http/http_network_session_peer.h",
+ "http/http_network_transaction.cc",
+ "http/http_network_transaction.h",
+ "http/http_pipelined_connection.h",
+ "http/http_pipelined_connection_impl.cc",
+ "http/http_pipelined_connection_impl.h",
+ "http/http_pipelined_host.cc",
+ "http/http_pipelined_host.h",
+ "http/http_pipelined_host_capability.h",
+ "http/http_pipelined_host_forced.cc",
+ "http/http_pipelined_host_forced.h",
+ "http/http_pipelined_host_impl.cc",
+ "http/http_pipelined_host_impl.h",
+ "http/http_pipelined_host_pool.cc",
+ "http/http_pipelined_host_pool.h",
+ "http/http_pipelined_stream.cc",
+ "http/http_pipelined_stream.h",
+ "http/http_proxy_client_socket.cc",
+ "http/http_proxy_client_socket.h",
+ "http/http_proxy_client_socket_pool.cc",
+ "http/http_proxy_client_socket_pool.h",
+ "http/http_request_headers.cc",
+ "http/http_request_headers.h",
+ "http/http_request_info.cc",
+ "http/http_request_info.h",
+ "http/http_response_body_drainer.cc",
+ "http/http_response_body_drainer.h",
+ "http/http_response_headers.cc",
+ "http/http_response_headers.h",
+ "http/http_response_info.cc",
+ "http/http_response_info.h",
+ "http/http_security_headers.cc",
+ "http/http_security_headers.h",
+ "http/http_server_properties.cc",
+ "http/http_server_properties.h",
+ "http/http_server_properties_impl.cc",
+ "http/http_server_properties_impl.h",
+ "http/http_status_code.cc",
+ "http/http_status_code.h",
+ "http/http_stream.h",
+ "http/http_stream_base.h",
+ "http/http_stream_factory.cc",
+ "http/http_stream_factory.h",
+ "http/http_stream_factory_impl.cc",
+ "http/http_stream_factory_impl.h",
+ "http/http_stream_factory_impl_job.cc",
+ "http/http_stream_factory_impl_job.h",
+ "http/http_stream_factory_impl_request.cc",
+ "http/http_stream_factory_impl_request.h",
+ "http/http_stream_parser.cc",
+ "http/http_stream_parser.h",
+ "http/http_transaction.h",
+ "http/http_transaction_delegate.h",
+ "http/http_transaction_factory.h",
+ "http/http_util.cc",
+ "http/http_util.h",
+ "http/http_util_icu.cc",
+ "http/http_vary_data.cc",
+ "http/http_vary_data.h",
+ "http/http_version.h",
+ "http/md4.cc",
+ "http/md4.h",
+ "http/partial_data.cc",
+ "http/partial_data.h",
+ "http/proxy_client_socket.h",
+ "http/proxy_client_socket.cc",
+ "http/proxy_connect_redirect_http_stream.h",
+ "http/proxy_connect_redirect_http_stream.cc",
+ "http/transport_security_state.cc",
+ "http/transport_security_state.h",
+ "http/transport_security_state_static.h",
+ "http/url_security_manager.cc",
+ "http/url_security_manager.h",
+ "http/url_security_manager_posix.cc",
+ "http/url_security_manager_win.cc",
+ "ocsp/nss_ocsp.cc",
+ "ocsp/nss_ocsp.h",
+ "proxy/dhcp_proxy_script_adapter_fetcher_win.cc",
+ "proxy/dhcp_proxy_script_adapter_fetcher_win.h",
+ "proxy/dhcp_proxy_script_fetcher.cc",
+ "proxy/dhcp_proxy_script_fetcher.h",
+ "proxy/dhcp_proxy_script_fetcher_factory.cc",
+ "proxy/dhcp_proxy_script_fetcher_factory.h",
+ "proxy/dhcp_proxy_script_fetcher_win.cc",
+ "proxy/dhcp_proxy_script_fetcher_win.h",
+ "proxy/dhcpcsvc_init_win.cc",
+ "proxy/dhcpcsvc_init_win.h",
+ "proxy/multi_threaded_proxy_resolver.cc",
+ "proxy/multi_threaded_proxy_resolver.h",
+ "proxy/network_delegate_error_observer.cc",
+ "proxy/network_delegate_error_observer.h",
+ "proxy/polling_proxy_config_service.cc",
+ "proxy/polling_proxy_config_service.h",
+ "proxy/proxy_bypass_rules.cc",
+ "proxy/proxy_bypass_rules.h",
+ "proxy/proxy_config.cc",
+ "proxy/proxy_config.h",
+ "proxy/proxy_config_service.h",
+ "proxy/proxy_config_service_android.cc",
+ "proxy/proxy_config_service_android.h",
+ "proxy/proxy_config_service_fixed.cc",
+ "proxy/proxy_config_service_fixed.h",
+ "proxy/proxy_config_service_ios.cc",
+ "proxy/proxy_config_service_ios.h",
+ "proxy/proxy_config_service_linux.cc",
+ "proxy/proxy_config_service_linux.h",
+ "proxy/proxy_config_service_mac.cc",
+ "proxy/proxy_config_service_mac.h",
+ "proxy/proxy_config_service_win.cc",
+ "proxy/proxy_config_service_win.h",
+ "proxy/proxy_config_source.cc",
+ "proxy/proxy_config_source.h",
+ "proxy/proxy_info.cc",
+ "proxy/proxy_info.h",
+ "proxy/proxy_list.cc",
+ "proxy/proxy_list.h",
+ "proxy/proxy_resolver.h",
+ "proxy/proxy_resolver_error_observer.h",
+ "proxy/proxy_resolver_mac.cc",
+ "proxy/proxy_resolver_mac.h",
+ "proxy/proxy_resolver_script.h",
+ "proxy/proxy_resolver_script_data.cc",
+ "proxy/proxy_resolver_script_data.h",
+ "proxy/proxy_resolver_winhttp.cc",
+ "proxy/proxy_resolver_winhttp.h",
+ "proxy/proxy_retry_info.h",
+ "proxy/proxy_script_decider.cc",
+ "proxy/proxy_script_decider.h",
+ "proxy/proxy_script_fetcher.h",
+ "proxy/proxy_script_fetcher_impl.cc",
+ "proxy/proxy_script_fetcher_impl.h",
+ "proxy/proxy_server.cc",
+ "proxy/proxy_server.h",
+ "proxy/proxy_server_mac.cc",
+ "proxy/proxy_service.cc",
+ "proxy/proxy_service.h",
+ "quic/congestion_control/available_channel_estimator.cc",
+ "quic/congestion_control/available_channel_estimator.h",
+ "quic/congestion_control/channel_estimator.cc",
+ "quic/congestion_control/channel_estimator.h",
+ "quic/congestion_control/cube_root.cc",
+ "quic/congestion_control/cube_root.h",
+ "quic/congestion_control/cubic.cc",
+ "quic/congestion_control/cubic.h",
+ "quic/congestion_control/fix_rate_receiver.cc",
+ "quic/congestion_control/fix_rate_receiver.h",
+ "quic/congestion_control/fix_rate_sender.cc",
+ "quic/congestion_control/fix_rate_sender.h",
+ "quic/congestion_control/hybrid_slow_start.cc",
+ "quic/congestion_control/hybrid_slow_start.h",
+ "quic/congestion_control/inter_arrival_bitrate_ramp_up.cc",
+ "quic/congestion_control/inter_arrival_bitrate_ramp_up.h",
+ "quic/congestion_control/inter_arrival_overuse_detector.cc",
+ "quic/congestion_control/inter_arrival_overuse_detector.h",
+ "quic/congestion_control/inter_arrival_probe.cc",
+ "quic/congestion_control/inter_arrival_probe.h",
+ "quic/congestion_control/inter_arrival_receiver.cc",
+ "quic/congestion_control/inter_arrival_receiver.h",
+ "quic/congestion_control/inter_arrival_sender.cc",
+ "quic/congestion_control/inter_arrival_sender.h",
+ "quic/congestion_control/inter_arrival_state_machine.cc",
+ "quic/congestion_control/inter_arrival_state_machine.h",
+ "quic/congestion_control/leaky_bucket.cc",
+ "quic/congestion_control/leaky_bucket.h",
+ "quic/congestion_control/paced_sender.cc",
+ "quic/congestion_control/paced_sender.h",
+ "quic/congestion_control/quic_congestion_manager.cc",
+ "quic/congestion_control/quic_congestion_manager.h",
+ "quic/congestion_control/quic_max_sized_map.h",
+ "quic/congestion_control/receive_algorithm_interface.cc",
+ "quic/congestion_control/receive_algorithm_interface.h",
+ "quic/congestion_control/send_algorithm_interface.cc",
+ "quic/congestion_control/send_algorithm_interface.h",
+ "quic/congestion_control/tcp_cubic_sender.cc",
+ "quic/congestion_control/tcp_cubic_sender.h",
+ "quic/congestion_control/tcp_receiver.cc",
+ "quic/congestion_control/tcp_receiver.h",
+ "quic/crypto/aes_128_gcm_12_decrypter.h",
+ "quic/crypto/aes_128_gcm_12_decrypter_nss.cc",
+ "quic/crypto/aes_128_gcm_12_decrypter_openssl.cc",
+ "quic/crypto/aes_128_gcm_12_encrypter.h",
+ "quic/crypto/aes_128_gcm_12_encrypter_nss.cc",
+ "quic/crypto/aes_128_gcm_12_encrypter_openssl.cc",
+ "quic/crypto/cert_compressor.cc",
+ "quic/crypto/cert_compressor.h",
+ "quic/crypto/channel_id.cc",
+ "quic/crypto/channel_id.h",
+ "quic/crypto/channel_id_nss.cc",
+ "quic/crypto/channel_id_openssl.cc",
+ "quic/crypto/common_cert_set.cc",
+ "quic/crypto/common_cert_set.h",
+ "quic/crypto/crypto_framer.cc",
+ "quic/crypto/crypto_framer.h",
+ "quic/crypto/crypto_handshake.cc",
+ "quic/crypto/crypto_handshake.h",
+ "quic/crypto/crypto_protocol.h",
+ "quic/crypto/crypto_secret_boxer.cc",
+ "quic/crypto/crypto_secret_boxer.h",
+ "quic/crypto/crypto_server_config.cc",
+ "quic/crypto/crypto_server_config.h",
+ "quic/crypto/crypto_server_config_protobuf.cc",
+ "quic/crypto/crypto_server_config_protobuf.h",
+ "quic/crypto/crypto_utils.cc",
+ "quic/crypto/crypto_utils.h",
+ "quic/crypto/curve25519_key_exchange.cc",
+ "quic/crypto/curve25519_key_exchange.h",
+ "quic/crypto/ephemeral_key_source.h",
+ "quic/crypto/key_exchange.h",
+ "quic/crypto/null_decrypter.cc",
+ "quic/crypto/null_decrypter.h",
+ "quic/crypto/null_encrypter.cc",
+ "quic/crypto/null_encrypter.h",
+ "quic/crypto/p256_key_exchange.h",
+ "quic/crypto/p256_key_exchange_nss.cc",
+ "quic/crypto/p256_key_exchange_openssl.cc",
+ "quic/crypto/proof_source.h",
+ "quic/crypto/proof_source_chromium.cc",
+ "quic/crypto/proof_source_chromium.h",
+ "quic/crypto/proof_verifier.cc",
+ "quic/crypto/proof_verifier_chromium.cc",
+ "quic/crypto/proof_verifier_chromium.h",
+ "quic/crypto/quic_decrypter.cc",
+ "quic/crypto/quic_decrypter.h",
+ "quic/crypto/quic_encrypter.cc",
+ "quic/crypto/quic_encrypter.h",
+ "quic/crypto/quic_random.cc",
+ "quic/crypto/quic_random.h",
+ "quic/crypto/scoped_evp_cipher_ctx.cc",
+ "quic/crypto/scoped_evp_cipher_ctx.h",
+ "quic/crypto/strike_register.cc",
+ "quic/crypto/strike_register.h",
+ "quic/crypto/source_address_token.cc",
+ "quic/crypto/source_address_token.h",
+ "quic/quic_alarm.cc",
+ "quic/quic_alarm.h",
+ "quic/quic_bandwidth.cc",
+ "quic/quic_bandwidth.h",
+ "quic/quic_blocked_writer_interface.h",
+ "quic/quic_client_session.cc",
+ "quic/quic_client_session.h",
+ "quic/quic_config.cc",
+ "quic/quic_config.h",
+ "quic/quic_crypto_client_stream.cc",
+ "quic/quic_crypto_client_stream.h",
+ "quic/quic_crypto_client_stream_factory.h",
+ "quic/quic_crypto_server_stream.cc",
+ "quic/quic_crypto_server_stream.h",
+ "quic/quic_crypto_stream.cc",
+ "quic/quic_crypto_stream.h",
+ "quic/quic_clock.cc",
+ "quic/quic_clock.h",
+ "quic/quic_connection.cc",
+ "quic/quic_connection.h",
+ "quic/quic_connection_helper.cc",
+ "quic/quic_connection_helper.h",
+ "quic/quic_connection_logger.cc",
+ "quic/quic_connection_logger.h",
+ "quic/quic_connection_stats.cc",
+ "quic/quic_connection_stats.h",
+ "quic/quic_data_reader.cc",
+ "quic/quic_data_reader.h",
+ "quic/quic_data_writer.cc",
+ "quic/quic_data_writer.h",
+ "quic/quic_fec_group.cc",
+ "quic/quic_fec_group.h",
+ "quic/quic_framer.cc",
+ "quic/quic_framer.h",
+ "quic/quic_http_stream.cc",
+ "quic/quic_http_stream.h",
+ "quic/quic_packet_creator.cc",
+ "quic/quic_packet_creator.h",
+ "quic/quic_packet_generator.cc",
+ "quic/quic_packet_generator.h",
+ "quic/quic_protocol.cc",
+ "quic/quic_protocol.h",
+ "quic/quic_received_packet_manager.cc",
+ "quic/quic_received_packet_manager.h",
+ "quic/quic_reliable_client_stream.cc",
+ "quic/quic_reliable_client_stream.h",
+ "quic/quic_sent_entropy_manager.cc",
+ "quic/quic_sent_entropy_manager.h",
+ "quic/quic_session.cc",
+ "quic/quic_session.h",
+ "quic/quic_spdy_compressor.cc",
+ "quic/quic_spdy_compressor.h",
+ "quic/quic_spdy_decompressor.cc",
+ "quic/quic_spdy_decompressor.h",
+ "quic/quic_stream_factory.cc",
+ "quic/quic_stream_factory.h",
+ "quic/quic_stream_sequencer.cc",
+ "quic/quic_stream_sequencer.h",
+ "quic/quic_time.cc",
+ "quic/quic_time.h",
+ "quic/quic_utils.cc",
+ "quic/quic_utils.h",
+ "quic/reliable_quic_stream.cc",
+ "quic/reliable_quic_stream.h",
+ "quic/spdy_utils.cc",
+ "quic/spdy_utils.h",
+ "socket/buffered_write_stream_socket.cc",
+ "socket/buffered_write_stream_socket.h",
+ "socket/client_socket_factory.cc",
+ "socket/client_socket_factory.h",
+ "socket/client_socket_handle.cc",
+ "socket/client_socket_handle.h",
+ "socket/client_socket_pool.cc",
+ "socket/client_socket_pool.h",
+ "socket/client_socket_pool_base.cc",
+ "socket/client_socket_pool_base.h",
+ "socket/client_socket_pool_histograms.cc",
+ "socket/client_socket_pool_histograms.h",
+ "socket/client_socket_pool_manager.cc",
+ "socket/client_socket_pool_manager.h",
+ "socket/client_socket_pool_manager_impl.cc",
+ "socket/client_socket_pool_manager_impl.h",
+ "socket/next_proto.h",
+ "socket/nss_ssl_util.cc",
+ "socket/nss_ssl_util.h",
+ "socket/server_socket.h",
+ "socket/socket_net_log_params.cc",
+ "socket/socket_net_log_params.h",
+ "socket/socket.h",
+ "socket/socks5_client_socket.cc",
+ "socket/socks5_client_socket.h",
+ "socket/socks_client_socket.cc",
+ "socket/socks_client_socket.h",
+ "socket/socks_client_socket_pool.cc",
+ "socket/socks_client_socket_pool.h",
+ "socket/ssl_client_socket.cc",
+ "socket/ssl_client_socket.h",
+ "socket/ssl_client_socket_nss.cc",
+ "socket/ssl_client_socket_nss.h",
+ "socket/ssl_client_socket_openssl.cc",
+ "socket/ssl_client_socket_openssl.h",
+ "socket/ssl_client_socket_pool.cc",
+ "socket/ssl_client_socket_pool.h",
+ "socket/ssl_error_params.cc",
+ "socket/ssl_error_params.h",
+ "socket/ssl_server_socket.h",
+ "socket/ssl_server_socket_nss.cc",
+ "socket/ssl_server_socket_nss.h",
+ "socket/ssl_server_socket_openssl.cc",
+ "socket/ssl_socket.h",
+ "socket/stream_listen_socket.cc",
+ "socket/stream_listen_socket.h",
+ "socket/stream_socket.cc",
+ "socket/stream_socket.h",
+ "socket/tcp_client_socket.cc",
+ "socket/tcp_client_socket.h",
+ "socket/tcp_client_socket_libevent.cc",
+ "socket/tcp_client_socket_libevent.h",
+ "socket/tcp_client_socket_win.cc",
+ "socket/tcp_client_socket_win.h",
+ "socket/tcp_listen_socket.cc",
+ "socket/tcp_listen_socket.h",
+ "socket/tcp_server_socket.h",
+ "socket/tcp_server_socket_libevent.cc",
+ "socket/tcp_server_socket_libevent.h",
+ "socket/tcp_server_socket_win.cc",
+ "socket/tcp_server_socket_win.h",
+ "socket/transport_client_socket_pool.cc",
+ "socket/transport_client_socket_pool.h",
+ "socket/unix_domain_socket_posix.cc",
+ "socket/unix_domain_socket_posix.h",
+ "socket_stream/socket_stream.cc",
+ "socket_stream/socket_stream.h",
+ "socket_stream/socket_stream_job.cc",
+ "socket_stream/socket_stream_job.h",
+ "socket_stream/socket_stream_job_manager.cc",
+ "socket_stream/socket_stream_job_manager.h",
+ "socket_stream/socket_stream_metrics.cc",
+ "socket_stream/socket_stream_metrics.h",
+ "spdy/buffered_spdy_framer.cc",
+ "spdy/buffered_spdy_framer.h",
+ "spdy/spdy_bitmasks.h",
+ "spdy/spdy_buffer.cc",
+ "spdy/spdy_buffer.h",
+ "spdy/spdy_buffer_producer.cc",
+ "spdy/spdy_buffer_producer.h",
+ "spdy/spdy_credential_builder.cc",
+ "spdy/spdy_credential_builder.h",
+ "spdy/spdy_credential_state.cc",
+ "spdy/spdy_credential_state.h",
+ "spdy/spdy_frame_builder.cc",
+ "spdy/spdy_frame_builder.h",
+ "spdy/spdy_frame_reader.cc",
+ "spdy/spdy_frame_reader.h",
+ "spdy/spdy_framer.cc",
+ "spdy/spdy_framer.h",
+ "spdy/spdy_header_block.cc",
+ "spdy/spdy_header_block.h",
+ "spdy/spdy_http_stream.cc",
+ "spdy/spdy_http_stream.h",
+ "spdy/spdy_http_utils.cc",
+ "spdy/spdy_http_utils.h",
+ "spdy/spdy_priority_forest.h",
+ "spdy/spdy_protocol.cc",
+ "spdy/spdy_protocol.h",
+ "spdy/spdy_proxy_client_socket.cc",
+ "spdy/spdy_proxy_client_socket.h",
+ "spdy/spdy_read_queue.cc",
+ "spdy/spdy_read_queue.h",
+ "spdy/spdy_session.cc",
+ "spdy/spdy_session.h",
+ "spdy/spdy_session_key.cc",
+ "spdy/spdy_session_key.h",
+ "spdy/spdy_session_pool.cc",
+ "spdy/spdy_session_pool.h",
+ "spdy/spdy_stream.cc",
+ "spdy/spdy_stream.h",
+ "spdy/spdy_websocket_stream.cc",
+ "spdy/spdy_websocket_stream.h",
+ "spdy/spdy_write_queue.cc",
+ "spdy/spdy_write_queue.h",
+ "spdy/write_blocked_list.h",
+ "ssl/client_cert_store.h",
+ "ssl/client_cert_store_impl.h",
+ "ssl/client_cert_store_impl_mac.cc",
+ "ssl/client_cert_store_impl_nss.cc",
+ "ssl/client_cert_store_impl_win.cc",
+ "ssl/default_server_bound_cert_store.cc",
+ "ssl/default_server_bound_cert_store.h",
+ "ssl/openssl_client_key_store.cc",
+ "ssl/openssl_client_key_store.h",
+ "ssl/server_bound_cert_service.cc",
+ "ssl/server_bound_cert_service.h",
+ "ssl/server_bound_cert_store.cc",
+ "ssl/server_bound_cert_store.h",
+ "ssl/ssl_cert_request_info.cc",
+ "ssl/ssl_cert_request_info.h",
+ "ssl/ssl_cipher_suite_names.cc",
+ "ssl/ssl_cipher_suite_names.h",
+ "ssl/ssl_client_auth_cache.cc",
+ "ssl/ssl_client_auth_cache.h",
+ "ssl/ssl_client_cert_type.h",
+ "ssl/ssl_config_service.cc",
+ "ssl/ssl_config_service.h",
+ "ssl/ssl_config_service_defaults.cc",
+ "ssl/ssl_config_service_defaults.h",
+ "ssl/ssl_info.cc",
+ "ssl/ssl_info.h",
+ "third_party/mozilla_security_manager/nsKeygenHandler.cpp",
+ "third_party/mozilla_security_manager/nsKeygenHandler.h",
+ "third_party/mozilla_security_manager/nsNSSCertificateDB.cpp",
+ "third_party/mozilla_security_manager/nsNSSCertificateDB.h",
+ "third_party/mozilla_security_manager/nsPKCS12Blob.cpp",
+ "third_party/mozilla_security_manager/nsPKCS12Blob.h",
+ "udp/datagram_client_socket.h",
+ "udp/datagram_server_socket.h",
+ "udp/datagram_socket.h",
+ "udp/udp_client_socket.cc",
+ "udp/udp_client_socket.h",
+ "udp/udp_net_log_parameters.cc",
+ "udp/udp_net_log_parameters.h",
+ "udp/udp_server_socket.cc",
+ "udp/udp_server_socket.h",
+ "udp/udp_socket.h",
+ "udp/udp_socket_libevent.cc",
+ "udp/udp_socket_libevent.h",
+ "udp/udp_socket_win.cc",
+ "udp/udp_socket_win.h",
+ "url_request/data_protocol_handler.cc",
+ "url_request/data_protocol_handler.h",
+ "url_request/file_protocol_handler.cc",
+ "url_request/file_protocol_handler.h",
+ "url_request/fraudulent_certificate_reporter.h",
+ "url_request/ftp_protocol_handler.cc",
+ "url_request/ftp_protocol_handler.h",
+ "url_request/http_user_agent_settings.h",
+ "url_request/protocol_intercept_job_factory.cc",
+ "url_request/protocol_intercept_job_factory.h",
+ "url_request/static_http_user_agent_settings.cc",
+ "url_request/static_http_user_agent_settings.h",
+ "url_request/url_fetcher.cc",
+ "url_request/url_fetcher.h",
+ "url_request/url_fetcher_core.cc",
+ "url_request/url_fetcher_core.h",
+ "url_request/url_fetcher_delegate.cc",
+ "url_request/url_fetcher_delegate.h",
+ "url_request/url_fetcher_factory.h",
+ "url_request/url_fetcher_impl.cc",
+ "url_request/url_fetcher_impl.h",
+ "url_request/url_fetcher_response_writer.cc",
+ "url_request/url_fetcher_response_writer.h",
+ "url_request/url_request.cc",
+ "url_request/url_request.h",
+ "url_request/url_request_about_job.cc",
+ "url_request/url_request_about_job.h",
+ "url_request/url_request_context.cc",
+ "url_request/url_request_context.h",
+ "url_request/url_request_context_builder.cc",
+ "url_request/url_request_context_builder.h",
+ "url_request/url_request_context_getter.cc",
+ "url_request/url_request_context_getter.h",
+ "url_request/url_request_context_storage.cc",
+ "url_request/url_request_context_storage.h",
+ "url_request/url_request_data_job.cc",
+ "url_request/url_request_data_job.h",
+ "url_request/url_request_error_job.cc",
+ "url_request/url_request_error_job.h",
+ "url_request/url_request_file_dir_job.cc",
+ "url_request/url_request_file_dir_job.h",
+ "url_request/url_request_file_job.cc",
+ "url_request/url_request_file_job.h",
+ "url_request/url_request_filter.cc",
+ "url_request/url_request_filter.h",
+ "url_request/url_request_ftp_job.cc",
+ "url_request/url_request_ftp_job.h",
+ "url_request/url_request_http_job.cc",
+ "url_request/url_request_http_job.h",
+ "url_request/url_request_job.cc",
+ "url_request/url_request_job.h",
+ "url_request/url_request_job_factory.cc",
+ "url_request/url_request_job_factory.h",
+ "url_request/url_request_job_factory_impl.cc",
+ "url_request/url_request_job_factory_impl.h",
+ "url_request/url_request_job_manager.cc",
+ "url_request/url_request_job_manager.h",
+ "url_request/url_request_netlog_params.cc",
+ "url_request/url_request_netlog_params.h",
+ "url_request/url_request_redirect_job.cc",
+ "url_request/url_request_redirect_job.h",
+ "url_request/url_request_simple_job.cc",
+ "url_request/url_request_simple_job.h",
+ "url_request/url_request_status.h",
+ "url_request/url_request_test_job.cc",
+ "url_request/url_request_test_job.h",
+ "url_request/url_request_throttler_entry.cc",
+ "url_request/url_request_throttler_entry.h",
+ "url_request/url_request_throttler_entry_interface.h",
+ "url_request/url_request_throttler_header_adapter.cc",
+ "url_request/url_request_throttler_header_adapter.h",
+ "url_request/url_request_throttler_header_interface.h",
+ "url_request/url_request_throttler_manager.cc",
+ "url_request/url_request_throttler_manager.h",
+ "url_request/view_cache_helper.cc",
+ "url_request/view_cache_helper.h",
+ "websockets/websocket_channel.cc",
+ "websockets/websocket_channel.h",
+ "websockets/websocket_errors.cc",
+ "websockets/websocket_errors.h",
+ "websockets/websocket_frame.cc",
+ "websockets/websocket_frame.h",
+ "websockets/websocket_frame_parser.cc",
+ "websockets/websocket_frame_parser.h",
+ "websockets/websocket_handshake_handler.cc",
+ "websockets/websocket_handshake_handler.h",
+ "websockets/websocket_job.cc",
+ "websockets/websocket_job.h",
+ "websockets/websocket_mux.h",
+ "websockets/websocket_net_log_params.cc",
+ "websockets/websocket_net_log_params.h",
+ "websockets/websocket_stream.cc",
+ "websockets/websocket_stream.h",
+ "websockets/websocket_stream_base.h",
+ "websockets/websocket_throttle.cc",
+ "websockets/websocket_throttle.h",
+ ]
+
+ defines = [ "NET_IMPLEMENTATION" ]
+
deps = [
":net_resources",
"//base",
"//base:base_i18n",
"//base/third_party/dynamic_annotations",
"//crypto",
+ "//crypto/ssl:metassl",
"//sdch",
"//third_party/icu:icui18n",
"//third_party/icu:icuuc",
"//third_party/zlib",
"//url:url_lib",
]
-}
+ if (is_win) {
+ sources -= [
+ "http/http_auth_handler_ntlm_portable.cc",
+ "socket/tcp_client_socket_libevent.cc",
+ "socket/tcp_client_socket_libevent.h",
+ "socket/tcp_server_socket_libevent.cc",
+ "socket/tcp_server_socket_libevent.h",
+ "ssl/client_cert_store_impl_nss.cc",
+ "udp/udp_socket_libevent.cc",
+ "udp/udp_socket_libevent.h",
+ ]
+ deps += [
+ #"//net/third_party/nss/ssl:crssl",
+ #"//third_party/nss:nspr",
+ #"//third_party/nss:nss",
+ ]
+ } else { # !is_win
+ sources -= [
+ "base/winsock_init.cc",
+ "base/winsock_init.h",
+ "base/winsock_util.cc",
+ "base/winsock_util.h",
+ "proxy/proxy_resolver_winhttp.cc",
+ "proxy/proxy_resolver_winhttp.h",
+ ]
+ }
+
+ if (is_mac) {
+ sources -= [
+ "ssl/client_cert_store_impl_nss.cc",
+ ]
+ deps += [
+ "//net/third_party/nss/ssl:crssl",
+ "//third_party/nss:nspr",
+ "//third_party/nss:nss",
+ ]
+ }
+
+ if (is_chromeos) {
+ sources -= [
+ "base/network_change_notifier_linux.cc",
+ "base/network_change_notifier_linux.h",
+ "base/network_change_notifier_netlink_linux.cc",
+ "base/network_change_notifier_netlink_linux.h",
+ "proxy/proxy_config_service_linux.cc",
+ "proxy/proxy_config_service_linux.h",
+ ]
+ }
+
+ if (use_openssl) {
+ sources -= [
+ "base/crypto_module_nss.cc",
+ "base/keygen_handler_nss.cc",
+ "base/nss_memio.c",
+ "base/nss_memio.h",
+ "cert/cert_database_nss.cc",
+ "cert/cert_verify_proc_nss.cc",
+ "cert/cert_verify_proc_nss.h",
+ "cert/jwk_serializer_nss.cc",
+ "cert/nss_cert_database.cc",
+ "cert/nss_cert_database.h",
+ "cert/test_root_certs_nss.cc",
+ "cert/x509_certificate_nss.cc",
+ "cert/x509_util_nss.cc",
+ "cert/x509_util_nss.h",
+ "ocsp/nss_ocsp.cc",
+ "ocsp/nss_ocsp.h",
+ "quic/crypto/aes_128_gcm_12_decrypter_nss.cc",
+ "quic/crypto/aes_128_gcm_12_encrypter_nss.cc",
+ "quic/crypto/channel_id_nss.cc",
+ "quic/crypto/p256_key_exchange_nss.cc",
+ "socket/nss_ssl_util.cc",
+ "socket/nss_ssl_util.h",
+ "socket/ssl_client_socket_nss.cc",
+ "socket/ssl_client_socket_nss.h",
+ "socket/ssl_server_socket_nss.cc",
+ "socket/ssl_server_socket_nss.h",
+ "ssl/client_cert_store_impl_nss.cc",
+ "third_party/mozilla_security_manager/nsKeygenHandler.cpp",
+ "third_party/mozilla_security_manager/nsKeygenHandler.h",
+ "third_party/mozilla_security_manager/nsNSSCertificateDB.cpp",
+ "third_party/mozilla_security_manager/nsNSSCertificateDB.h",
+ "third_party/mozilla_security_manager/nsPKCS12Blob.cpp",
+ "third_party/mozilla_security_manager/nsPKCS12Blob.h",
+ ]
+ } else { # !use_openssl
+ sources -= [
+ "base/crypto_module_openssl.cc",
+ "base/keygen_handler_openssl.cc",
+ "base/openssl_private_key_store.h",
+ #"base/openssl_private_key_store_android.cc",
+ "base/openssl_private_key_store_memory.cc",
+ "cert/cert_database_openssl.cc",
+ "cert/cert_verify_proc_openssl.cc",
+ "cert/cert_verify_proc_openssl.h",
+ "cert/jwk_serializer_openssl.cc",
+ "cert/test_root_certs_openssl.cc",
+ "cert/x509_certificate_openssl.cc",
+ "cert/x509_util_openssl.cc",
+ "cert/x509_util_openssl.h",
+ "quic/crypto/aes_128_gcm_12_decrypter_openssl.cc",
+ "quic/crypto/aes_128_gcm_12_encrypter_openssl.cc",
+ "quic/crypto/channel_id_openssl.cc",
+ "quic/crypto/p256_key_exchange_openssl.cc",
+ "quic/crypto/scoped_evp_cipher_ctx.cc",
+ "quic/crypto/scoped_evp_cipher_ctx.h",
+ "socket/ssl_client_socket_openssl.cc",
+ "socket/ssl_client_socket_openssl.h",
+ "socket/ssl_server_socket_openssl.cc",
+ "ssl/openssl_client_key_store.cc",
+ "ssl/openssl_client_key_store.h",
+ ]
+ }
+
+ if (is_posix) {
+ posix_avoid_mmap = false # TODO(brettw) should be true on 32-bit Android.
+ if (posix_avoid_mmap) {
+ defines = [ "POSIX_AVOID_MMAP" ]
+ sources -= "disk_cache/mapped_file_posix.cc"
+ } else { # !posix_avoid_mmap
+ sources -= "disk_cache/mapped_file_avoid_mmap_posix.cc"
+ }
+ }
+}
grit("net_resources") {
source = "base/net_resources.grd"
diff --git a/tools/gn/secondary/net/third_party/nss/ssl/BUILD.gn b/tools/gn/secondary/net/third_party/nss/ssl/BUILD.gn
index d5658c6..0410146 100644
--- a/tools/gn/secondary/net/third_party/nss/ssl/BUILD.gn
+++ b/tools/gn/secondary/net/third_party/nss/ssl/BUILD.gn
@@ -2,6 +2,12 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+config("crssl_config") {
+ includes = [
+ "//net/third_party/nss/ssl",
+ ]
+}
+
# Not named "ssl" so the lib doesn't conflict with OpenSSL's libssl
component("crssl") {
sources = [
@@ -59,6 +65,8 @@ component("crssl") {
configs -= "//build/config/compiler:chromium_code"
configs += "//build/config/compiler:no_chromium_code"
+ direct_dependent_configs = [ ":crssl_config" ]
+
if (is_win) {
sources -= [
"unix_err.c",
@@ -73,7 +81,6 @@ component("crssl") {
if (is_linux) {
includes = [ "bodge" ]
- direct_dependent_configs = [ "//net/third_party/nss:nss_linux_config" ]
}
if (is_mac) {
sources -= "bodge/secitem_array.c"
diff --git a/tools/gn/secondary/tools/grit/grit_rule.gni b/tools/gn/secondary/tools/grit/grit_rule.gni
index 7b3ba48..5f68f97 100644
--- a/tools/gn/secondary/tools/grit/grit_rule.gni
+++ b/tools/gn/secondary/tools/grit/grit_rule.gni
@@ -22,7 +22,17 @@ template("grit") {
[ "--outputs", "$output_dir", source, "-f", resource_ids ],
"list lines")
- custom(target_name + "_grit") {
+ # The current grit setup makes an file in $target_gen_dir/grit/foo.h that
+ # the source code expects to include via "grit/foo.h". It would be nice to
+ # change this to including absolute paths relative to the root gen directory
+ # (like "mycomponent/foo.h"). This config sets up the include path.
+ grit_config = target_name + "_grit_config"
+ config(grit_config) {
+ includes = [ target_gen_dir ]
+ }
+
+ grit_custom_target = target_name + "_grit"
+ custom(grit_custom_target) {
script = "$relative_source_root_dir/tools/grit/grit.py"
data = grit_inputs # TODO(brettw) this should be inputs or something
outputs = grit_outputs
@@ -39,6 +49,7 @@ template("grit") {
# same as the argument the template was invoked with.
static_library(target_name) {
sources = grit_outputs
- deps = [ ":${target_name}_grit" ]
+ deps = [ ":$grit_custom_target" ]
+ direct_dependent_configs = [ ":$grit_config" ]
}
}
diff --git a/tools/gn/toolchain_manager.cc b/tools/gn/toolchain_manager.cc
index 3e84530..bd70baa 100644
--- a/tools/gn/toolchain_manager.cc
+++ b/tools/gn/toolchain_manager.cc
@@ -537,7 +537,7 @@ void ToolchainManager::BackgroundInvoke(const Info* info,
}
Scope our_scope(info->settings.base_config());
- ScopePerFileProvider per_file_provider(&our_scope, file_name);
+ ScopePerFileProvider per_file_provider(&our_scope);
our_scope.set_source_dir(file_name.GetDir());
Err err;
diff --git a/tools/gn/variables.cc b/tools/gn/variables.cc
index f4d1732..85cfa38 100644
--- a/tools/gn/variables.cc
+++ b/tools/gn/variables.cc
@@ -115,6 +115,8 @@ const char kRelativeRootGenDir_Help[] =
"\n"
" Generally scripts should use \"relative_target_output_dir\" instead.\n"
"\n"
+ " See also \"root_gen_dir\".\n"
+ "\n"
"Example:\n"
"\n"
" If your current build file is in \"//tools\", you might write\n"
@@ -154,7 +156,6 @@ extern const char kRelativeSourceRootDir_Help[] =
" command = \"$relative_build_to_source_root_dir/third_party/gold/ld\n"
" }\n";
-
const char kRelativeTargetGenDir[] = "relative_target_gen_dir";
const char kRelativeTargetGenDir_HelpShort[] =
"relative_target_gen_dir: [string] Relative dir for generated files.";
@@ -167,9 +168,11 @@ const char kRelativeTargetGenDir_Help[] =
" Normally used when invoking scripts (the current directory of which is\n"
" that of the invoking buildfile) that need to write files.\n"
"\n"
- " Scripts generating final rather than intermetiate files should use the\n"
+ " Scripts generating final rather than intermediate files should use the\n"
" \"relative_target_output_dir\" instead.\n"
"\n"
+ " See also \"target_gen_dir\".\n"
+ "\n"
"Example:\n"
"\n"
" If your current build file is in \"//tools\", you might write\n"
@@ -195,6 +198,41 @@ const char kRelativeTargetOutputDir_Help[] =
" If your current build file is in \"//tools\", you might write\n"
" args = [ \"$relative_target_output_dir/final.lib\" ]\n";
+const char kRootGenDir[] = "root_gen_dir";
+const char kRootGenDir_HelpShort[] =
+ "root_gen_dir: [string] Absolute root dir for generated files.";
+const char kRootGenDir_Help[] =
+ "root_gen_dir: Absolute root dir for generated files.\n"
+ "\n"
+ " Absolute path to the root of the generated output directory tree for\n"
+ " the current toolchain. An example value might be \"//out/Debug/gen\".\n"
+ " It will not have a trailing slash.\n"
+ "\n"
+ " This is primarily useful for setting up include paths for generated\n"
+ " files. Scripts will want the \"relative_root_gen_dir\" instead\n"
+ " which will be relative to the scripts' current directory.\n"
+ "\n"
+ " See also \"relative_root_gen_dir\" and \"target_gen_dir\".\n";
+
+const char kTargetGenDir[] = "target_gen_dir";
+const char kTargetGenDir_HelpShort[] =
+ "target_gen_dir: [string] Absolute dir for generated files.";
+const char kTargetGenDir_Help[] =
+ "target_gen_dir: Absolute dir for generated files.\n"
+ "\n"
+ " Absolute path to the target's generated file directory. If your\n"
+ " current target is in \"//tools/doom_melon\" then this value might be\n"
+ " \"//out/Debug/gen/tools/doom_melon\". It will not have a trailing\n"
+ " slash.\n"
+ "\n"
+ " Scripts generating files will generally want the relative version of\n"
+ " this instead: \"relative_target_gen_dir\".\n"
+ "\n"
+ "Example:\n"
+ "\n"
+ " # Add the gen directory to the include path.\n"
+ " args = [ target_gen_dir ]\n";
+
// Target variables ------------------------------------------------------------
const char kAllDependentConfigs[] = "all_dependent_configs";
@@ -444,6 +482,8 @@ const VariableInfoMap& GetBuiltinVariables() {
INSERT_VARIABLE(RelativeSourceRootDir)
INSERT_VARIABLE(RelativeTargetGenDir)
INSERT_VARIABLE(RelativeTargetOutputDir)
+ INSERT_VARIABLE(RootGenDir)
+ INSERT_VARIABLE(TargetGenDir)
}
return info_map;
}
diff --git a/tools/gn/variables.h b/tools/gn/variables.h
index c1d2a29..526e796 100644
--- a/tools/gn/variables.h
+++ b/tools/gn/variables.h
@@ -65,6 +65,14 @@ extern const char kRelativeTargetOutputDir[];
extern const char kRelativeTargetOutputDir_HelpShort[];
extern const char kRelativeTargetOutputDir_Help[];
+extern const char kRootGenDir[];
+extern const char kRootGenDir_HelpShort[];
+extern const char kRootGenDir_Help[];
+
+extern const char kTargetGenDir[];
+extern const char kTargetGenDir_HelpShort[];
+extern const char kTargetGenDir_Help[];
+
// Target vars -----------------------------------------------------------------
extern const char kAllDependentConfigs[];