summaryrefslogtreecommitdiff
path: root/chromium/components/domain_reliability
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-12-10 16:19:40 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-12-10 16:01:50 +0000
commit51f6c2793adab2d864b3d2b360000ef8db1d3e92 (patch)
tree835b3b4446b012c75e80177cef9fbe6972cc7dbe /chromium/components/domain_reliability
parent6036726eb981b6c4b42047513b9d3f4ac865daac (diff)
downloadqtwebengine-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')
-rw-r--r--chromium/components/domain_reliability/BUILD.gn7
-rw-r--r--chromium/components/domain_reliability/DEPS1
-rw-r--r--chromium/components/domain_reliability/context_manager.cc2
-rw-r--r--chromium/components/domain_reliability/monitor.cc17
-rw-r--r--chromium/components/domain_reliability/monitor.h11
-rw-r--r--chromium/components/domain_reliability/monitor_unittest.cc19
-rw-r--r--chromium/components/domain_reliability/quic_error_mapping.cc7
-rw-r--r--chromium/components/domain_reliability/service_unittest.cc12
-rw-r--r--chromium/components/domain_reliability/uploader.cc6
-rw-r--r--chromium/components/domain_reliability/uploader.h3
-rw-r--r--chromium/components/domain_reliability/uploader_unittest.cc2
-rw-r--r--chromium/components/domain_reliability/util.cc1
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: