diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-12-10 16:19:40 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-12-10 16:01:50 +0000 |
commit | 51f6c2793adab2d864b3d2b360000ef8db1d3e92 (patch) | |
tree | 835b3b4446b012c75e80177cef9fbe6972cc7dbe /chromium/components/domain_reliability | |
parent | 6036726eb981b6c4b42047513b9d3f4ac865daac (diff) | |
download | qtwebengine-chromium-51f6c2793adab2d864b3d2b360000ef8db1d3e92.tar.gz |
BASELINE: Update Chromium to 71.0.3578.93
Change-Id: I6a32086c33670e1b033f8b10e6bf1fd4da1d105d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'chromium/components/domain_reliability')
12 files changed, 56 insertions, 32 deletions
diff --git a/chromium/components/domain_reliability/BUILD.gn b/chromium/components/domain_reliability/BUILD.gn index e7461b5c6b3..b3e0baf3cac 100644 --- a/chromium/components/domain_reliability/BUILD.gn +++ b/chromium/components/domain_reliability/BUILD.gn @@ -2,6 +2,8 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/jumbo.gni") + action("bake_in_configs") { visibility = [ ":*" ] script = "bake_in_configs.py" @@ -45,7 +47,7 @@ action("bake_in_configs") { ] } -component("domain_reliability") { +jumbo_component("domain_reliability") { sources = [ "baked_in_configs.h", "beacon.cc", @@ -88,11 +90,12 @@ component("domain_reliability") { "//content/public/browser", "//content/public/common", "//net", + "//services/network/public/cpp", "//url", ] } -source_set("unit_tests") { +jumbo_source_set("unit_tests") { testonly = true sources = [ "config_unittest.cc", diff --git a/chromium/components/domain_reliability/DEPS b/chromium/components/domain_reliability/DEPS index 5190a4bce94..562d750fec3 100644 --- a/chromium/components/domain_reliability/DEPS +++ b/chromium/components/domain_reliability/DEPS @@ -8,6 +8,7 @@ include_rules = [ "+content/public/browser", "+content/public/common", "+content/public/test", + "+services/network/public/cpp", "+third_party/blink/public", ] diff --git a/chromium/components/domain_reliability/context_manager.cc b/chromium/components/domain_reliability/context_manager.cc index e0f6a8e10e3..2290eb4b278 100644 --- a/chromium/components/domain_reliability/context_manager.cc +++ b/chromium/components/domain_reliability/context_manager.cc @@ -100,7 +100,7 @@ DomainReliabilityContext* DomainReliabilityContextManager::AddContextForConfig( void DomainReliabilityContextManager::RemoveContexts( const base::Callback<bool(const GURL&)>& origin_filter) { - for (ContextMap::iterator it = contexts_.begin(); it != contexts_.end(); ) { + for (auto it = contexts_.begin(); it != contexts_.end();) { if (!origin_filter.is_null() && !origin_filter.Run(it->second->config().origin)) { ++it; diff --git a/chromium/components/domain_reliability/monitor.cc b/chromium/components/domain_reliability/monitor.cc index 4a7f2f83fd7..2023d706ed8 100644 --- a/chromium/components/domain_reliability/monitor.cc +++ b/chromium/components/domain_reliability/monitor.cc @@ -16,6 +16,7 @@ #include "components/domain_reliability/google_configs.h" #include "components/domain_reliability/header.h" #include "components/domain_reliability/quic_error_mapping.h" +#include "content/public/browser/network_service_instance.h" #include "net/base/ip_endpoint.h" #include "net/base/load_flags.h" #include "net/base/net_errors.h" @@ -89,6 +90,7 @@ DomainReliabilityMonitor::DomainReliabilityMonitor( context_manager_(this), pref_task_runner_(pref_thread), network_task_runner_(network_thread), + network_connection_tracker_(nullptr), moved_to_network_thread_(false), discard_uploads_set_(false), weak_factory_(this) { @@ -111,6 +113,7 @@ DomainReliabilityMonitor::DomainReliabilityMonitor( context_manager_(this), pref_task_runner_(pref_thread), network_task_runner_(network_thread), + network_connection_tracker_(nullptr), moved_to_network_thread_(false), discard_uploads_set_(false), weak_factory_(this) { @@ -119,7 +122,8 @@ DomainReliabilityMonitor::DomainReliabilityMonitor( DomainReliabilityMonitor::~DomainReliabilityMonitor() { if (moved_to_network_thread_) { - net::NetworkChangeNotifier::RemoveNetworkChangeObserver(this); + DCHECK(network_connection_tracker_); + network_connection_tracker_->RemoveNetworkConnectionObserver(this); DCHECK(OnNetworkThread()); } else { DCHECK(OnPrefThread()); @@ -130,10 +134,13 @@ void DomainReliabilityMonitor::MoveToNetworkThread() { DCHECK(OnPrefThread()); DCHECK(!moved_to_network_thread_); + network_connection_tracker_ = content::GetNetworkConnectionTracker(); network_task_runner_->PostTask( FROM_HERE, - base::BindOnce(&net::NetworkChangeNotifier::AddNetworkChangeObserver, - base::Unretained(this))); + base::BindOnce( + &network::NetworkConnectionTracker::AddNetworkConnectionObserver, + base::Unretained(network_connection_tracker_), + base::Unretained(this))); moved_to_network_thread_ = true; } @@ -224,8 +231,8 @@ void DomainReliabilityMonitor::OnCompleted(net::URLRequest* request, } } -void DomainReliabilityMonitor::OnNetworkChanged( - net::NetworkChangeNotifier::ConnectionType type) { +void DomainReliabilityMonitor::OnConnectionChanged( + network::mojom::ConnectionType type) { last_network_change_time_ = time_->NowTicks(); } diff --git a/chromium/components/domain_reliability/monitor.h b/chromium/components/domain_reliability/monitor.h index 512e438d717..357fc8dbfb4 100644 --- a/chromium/components/domain_reliability/monitor.h +++ b/chromium/components/domain_reliability/monitor.h @@ -28,10 +28,10 @@ #include "net/base/ip_endpoint.h" #include "net/base/load_timing_info.h" #include "net/base/net_error_details.h" -#include "net/base/network_change_notifier.h" #include "net/http/http_response_info.h" #include "net/socket/connection_attempts.h" #include "net/url_request/url_request_status.h" +#include "services/network/public/cpp/network_connection_tracker.h" namespace base { class Value; @@ -48,7 +48,7 @@ namespace domain_reliability { // The top-level object that measures requests and hands off the measurements // to the proper |DomainReliabilityContext|. class DOMAIN_RELIABILITY_EXPORT DomainReliabilityMonitor - : public net::NetworkChangeNotifier::NetworkChangeObserver, + : public network::NetworkConnectionTracker::NetworkConnectionObserver, DomainReliabilityContext::Factory { public: // Creates a Monitor. |local_state_pref_service| must live on |pref_thread| @@ -114,9 +114,8 @@ class DOMAIN_RELIABILITY_EXPORT DomainReliabilityMonitor // |SetDiscardUploads|. void OnCompleted(net::URLRequest* request, bool started); - // net::NetworkChangeNotifier::NetworkChangeObserver implementation: - void OnNetworkChanged( - net::NetworkChangeNotifier::ConnectionType type) override; + // NetworkConnectionTracker::NetworkConnectionObserver implementation: + void OnConnectionChanged(network::mojom::ConnectionType type) override; // Called to remove browsing data for origins matched by |origin_filter|. // With CLEAR_BEACONS, leaves contexts in place but clears beacons (which @@ -198,6 +197,8 @@ class DOMAIN_RELIABILITY_EXPORT DomainReliabilityMonitor scoped_refptr<base::SingleThreadTaskRunner> pref_task_runner_; scoped_refptr<base::SingleThreadTaskRunner> network_task_runner_; + network::NetworkConnectionTracker* network_connection_tracker_; + bool moved_to_network_thread_; bool discard_uploads_set_; diff --git a/chromium/components/domain_reliability/monitor_unittest.cc b/chromium/components/domain_reliability/monitor_unittest.cc index d464ece744e..23eecad80b1 100644 --- a/chromium/components/domain_reliability/monitor_unittest.cc +++ b/chromium/components/domain_reliability/monitor_unittest.cc @@ -13,12 +13,16 @@ #include <vector> #include "base/bind.h" -#include "base/test/test_simple_task_runner.h" +#include "base/run_loop.h" +#include "base/task/post_task.h" #include "components/domain_reliability/baked_in_configs.h" #include "components/domain_reliability/beacon.h" #include "components/domain_reliability/config.h" #include "components/domain_reliability/google_configs.h" #include "components/domain_reliability/test_util.h" +#include "content/public/browser/browser_task_traits.h" +#include "content/public/browser/browser_thread.h" +#include "content/public/test/test_browser_thread_bundle.h" #include "net/base/host_port_pair.h" #include "net/base/load_flags.h" #include "net/http/http_response_headers.h" @@ -54,8 +58,10 @@ class DomainReliabilityMonitorTest : public testing::Test { typedef DomainReliabilityMonitor::RequestInfo RequestInfo; DomainReliabilityMonitorTest() - : pref_task_runner_(new base::TestSimpleTaskRunner()), - network_task_runner_(new base::TestSimpleTaskRunner()), + : pref_task_runner_(base::CreateSingleThreadTaskRunnerWithTraits( + {content::BrowserThread::UI})), + network_task_runner_(base::CreateSingleThreadTaskRunnerWithTraits( + {content::BrowserThread::IO})), url_request_context_getter_( new net::TestURLRequestContextGetter(network_task_runner_)), time_(new MockTime()), @@ -65,6 +71,8 @@ class DomainReliabilityMonitorTest : public testing::Test { network_task_runner_, std::unique_ptr<MockableTime>(time_)) { monitor_.MoveToNetworkThread(); + // Let the NetworkConnectionTracker registration complete. + thread_bundle_.RunUntilIdle(); monitor_.InitURLRequestContext(url_request_context_getter_); monitor_.SetDiscardUploads(false); } @@ -104,8 +112,9 @@ class DomainReliabilityMonitorTest : public testing::Test { return monitor_.AddContextForTesting(std::move(config)); } - scoped_refptr<base::TestSimpleTaskRunner> pref_task_runner_; - scoped_refptr<base::TestSimpleTaskRunner> network_task_runner_; + content::TestBrowserThreadBundle thread_bundle_; + scoped_refptr<base::SingleThreadTaskRunner> pref_task_runner_; + scoped_refptr<base::SingleThreadTaskRunner> network_task_runner_; scoped_refptr<net::URLRequestContextGetter> url_request_context_getter_; MockTime* time_; DomainReliabilityMonitor monitor_; diff --git a/chromium/components/domain_reliability/quic_error_mapping.cc b/chromium/components/domain_reliability/quic_error_mapping.cc index c43881a7704..1aa9b245b7a 100644 --- a/chromium/components/domain_reliability/quic_error_mapping.cc +++ b/chromium/components/domain_reliability/quic_error_mapping.cc @@ -289,6 +289,13 @@ const struct QuicErrorMapping { {quic::QUIC_INVALID_PATH_CHALLENGE_DATA, "quic.invalid.path_challenge_data"}, {quic::QUIC_INVALID_PATH_RESPONSE_DATA, "quic.invalid.path_response_data"}, + {quic::QUIC_INVALID_MESSAGE_DATA, "quic.invalid.message_data"}, + {quic::IETF_QUIC_PROTOCOL_VIOLATION, "quic.ietf.protocol_violation"}, + {quic::QUIC_INVALID_NEW_TOKEN, "quic.invalid_new_token"}, + {quic::QUIC_DATA_RECEIVED_ON_WRITE_UNIDIRECTIONAL_STREAM, + "quic.data.received.on.write.unidirectional.stream"}, + {quic::QUIC_TRY_TO_WRITE_DATA_ON_READ_UNIDIRECTIONAL_STREAM, + "quic.try.to.write.data.on.read.unidirectional.stream"}, // No error. Used as bound while iterating. {quic::QUIC_LAST_ERROR, "quic.last_error"}}; diff --git a/chromium/components/domain_reliability/service_unittest.cc b/chromium/components/domain_reliability/service_unittest.cc index 877fc046d9a..7b97afd448a 100644 --- a/chromium/components/domain_reliability/service_unittest.cc +++ b/chromium/components/domain_reliability/service_unittest.cc @@ -7,10 +7,12 @@ #include "base/logging.h" #include "base/run_loop.h" #include "base/single_thread_task_runner.h" +#include "base/task/post_task.h" #include "base/test/test_simple_task_runner.h" #include "base/time/time.h" #include "components/domain_reliability/monitor.h" #include "components/domain_reliability/test_util.h" +#include "content/public/browser/browser_task_traits.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/permission_controller.h" #include "content/public/browser/permission_controller_delegate.h" @@ -140,11 +142,11 @@ class DomainReliabilityServiceTest : public testing::Test { : upload_reporter_string_("test"), permission_manager_(new TestPermissionManager()) { scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner = - content::BrowserThread::GetTaskRunnerForThread( - content::BrowserThread::UI); + base::CreateSingleThreadTaskRunnerWithTraits( + {content::BrowserThread::UI}); scoped_refptr<base::SingleThreadTaskRunner> network_task_runner = - content::BrowserThread::GetTaskRunnerForThread( - content::BrowserThread::IO); + base::CreateSingleThreadTaskRunnerWithTraits( + {content::BrowserThread::IO}); url_request_context_getter_ = new net::TestURLRequestContextGetter(network_task_runner); browser_context_.SetPermissionControllerDelegate( @@ -153,6 +155,8 @@ class DomainReliabilityServiceTest : public testing::Test { upload_reporter_string_, &browser_context_)); monitor_ = service_->CreateMonitor(ui_task_runner, network_task_runner); monitor_->MoveToNetworkThread(); + // Let the NetworkConnectionTracker registration complete. + thread_bundle_.RunUntilIdle(); monitor_->InitURLRequestContext(url_request_context_getter_); monitor_->SetDiscardUploads(true); } diff --git a/chromium/components/domain_reliability/uploader.cc b/chromium/components/domain_reliability/uploader.cc index 1bda01bbee1..1f109a585fc 100644 --- a/chromium/components/domain_reliability/uploader.cc +++ b/chromium/components/domain_reliability/uploader.cc @@ -215,12 +215,6 @@ std::unique_ptr<DomainReliabilityUploader> DomainReliabilityUploader::Create( } // static -bool DomainReliabilityUploader::OriginatedFromDomainReliability( - const net::URLRequest& request) { - return request.GetUserData(UploadUserData::kUserDataKey) != nullptr; -} - -// static int DomainReliabilityUploader::GetURLRequestUploadDepth( const net::URLRequest& request) { UploadUserData* data = static_cast<UploadUserData*>( diff --git a/chromium/components/domain_reliability/uploader.h b/chromium/components/domain_reliability/uploader.h index 90c9d1e1300..51ff64c75bb 100644 --- a/chromium/components/domain_reliability/uploader.h +++ b/chromium/components/domain_reliability/uploader.h @@ -55,9 +55,6 @@ class DOMAIN_RELIABILITY_EXPORT DomainReliabilityUploader { const scoped_refptr<net::URLRequestContextGetter>& url_request_context_getter); - // Returns true if the request originated from domain reliability uploader. - static bool OriginatedFromDomainReliability(const net::URLRequest& request); - // Uploads |report_json| to |upload_url| and calls |callback| when the upload // has either completed or failed. virtual void UploadReport(const std::string& report_json, diff --git a/chromium/components/domain_reliability/uploader_unittest.cc b/chromium/components/domain_reliability/uploader_unittest.cc index 708d99792b8..8a1680c2212 100644 --- a/chromium/components/domain_reliability/uploader_unittest.cc +++ b/chromium/components/domain_reliability/uploader_unittest.cc @@ -71,7 +71,7 @@ class UploadMockURLRequestJob : public net::URLRequestJob { EXPECT_EQ(net::OK, rv); size_t upload_size = upload_stream_->size(); - upload_buffer_ = new net::IOBufferWithSize(upload_size); + upload_buffer_ = base::MakeRefCounted<net::IOBufferWithSize>(upload_size); rv = upload_stream_->Read( upload_buffer_.get(), upload_size, base::BindOnce(&UploadMockURLRequestJob::OnStreamRead, diff --git a/chromium/components/domain_reliability/util.cc b/chromium/components/domain_reliability/util.cc index c79802a5185..9d5f16cbed4 100644 --- a/chromium/components/domain_reliability/util.cc +++ b/chromium/components/domain_reliability/util.cc @@ -132,6 +132,7 @@ std::string GetDomainReliabilityProtocol( case net::HttpResponseInfo::CONNECTION_INFO_QUIC_42: case net::HttpResponseInfo::CONNECTION_INFO_QUIC_43: case net::HttpResponseInfo::CONNECTION_INFO_QUIC_44: + case net::HttpResponseInfo::CONNECTION_INFO_QUIC_45: case net::HttpResponseInfo::CONNECTION_INFO_QUIC_99: return "QUIC"; case net::HttpResponseInfo::NUM_OF_CONNECTION_INFOS: |