Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(36)

Unified Diff: chrome/browser/predictors/loading_test_util.cc

Issue 2896713003: Create LoadingDataCollector class and have observers rely on it instead of ResourcePrefetchPredictor (Closed)
Patch Set: Rebase Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/predictors/loading_test_util.cc
diff --git a/chrome/browser/predictors/resource_prefetch_predictor_test_util.cc b/chrome/browser/predictors/loading_test_util.cc
similarity index 83%
rename from chrome/browser/predictors/resource_prefetch_predictor_test_util.cc
rename to chrome/browser/predictors/loading_test_util.cc
index 4f6e93cdda46c89f8257f544feab52245949c405..b740a7efe32b48ad7227dd32e1968b1059d40f25 100644
--- a/chrome/browser/predictors/resource_prefetch_predictor_test_util.cc
+++ b/chrome/browser/predictors/loading_test_util.cc
@@ -2,12 +2,24 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/predictors/resource_prefetch_predictor_test_util.h"
+#include "chrome/browser/predictors/loading_test_util.h"
#include <cmath>
+#include <memory>
+
+#include "content/public/browser/resource_request_info.h"
+#include "net/http/http_response_headers.h"
+#include "net/url_request/url_request_test_util.h"
namespace {
+class EmptyURLRequestDelegate : public net::URLRequest::Delegate {
+ void OnResponseStarted(net::URLRequest* request, int net_error) override {}
+ void OnReadCompleted(net::URLRequest* request, int bytes_read) override {}
+};
+
+EmptyURLRequestDelegate g_empty_url_request_delegate;
+
bool AlmostEqual(const double x, const double y) {
return std::fabs(x - y) <= 1e-6; // Arbitrary but close enough.
}
@@ -211,6 +223,86 @@ void PopulateTestConfig(LoadingPredictorConfig* config, bool small_db) {
config->mode = LoadingPredictorConfig::LEARNING;
}
+scoped_refptr<net::HttpResponseHeaders> MakeResponseHeaders(
+ const char* headers) {
+ return make_scoped_refptr(new net::HttpResponseHeaders(
+ net::HttpUtil::AssembleRawHeaders(headers, strlen(headers))));
+}
+
+MockURLRequestJob::MockURLRequestJob(net::URLRequest* request,
+ const net::HttpResponseInfo& response_info,
+ const std::string& mime_type)
+ : net::URLRequestJob(request, nullptr),
+ response_info_(response_info),
+ mime_type_(mime_type) {}
+
+bool MockURLRequestJob::GetMimeType(std::string* mime_type) const {
+ *mime_type = mime_type_;
+ return true;
+}
+
+void MockURLRequestJob::Start() {
+ NotifyHeadersComplete();
+}
+
+void MockURLRequestJob::GetResponseInfo(net::HttpResponseInfo* info) {
+ *info = response_info_;
+}
+
+MockURLRequestJobFactory::MockURLRequestJobFactory() {}
+MockURLRequestJobFactory::~MockURLRequestJobFactory() {}
+
+void MockURLRequestJobFactory::Reset() {
+ response_info_ = net::HttpResponseInfo();
+ mime_type_ = std::string();
+}
+
+net::URLRequestJob* MockURLRequestJobFactory::MaybeCreateJobWithProtocolHandler(
+ const std::string& scheme,
+ net::URLRequest* request,
+ net::NetworkDelegate* network_delegate) const {
+ return new MockURLRequestJob(request, response_info_, mime_type_);
+}
+
+net::URLRequestJob* MockURLRequestJobFactory::MaybeInterceptRedirect(
+ net::URLRequest* request,
+ net::NetworkDelegate* network_delegate,
+ const GURL& location) const {
+ return nullptr;
+}
+
+net::URLRequestJob* MockURLRequestJobFactory::MaybeInterceptResponse(
+ net::URLRequest* request,
+ net::NetworkDelegate* network_delegate) const {
+ return nullptr;
+}
+
+bool MockURLRequestJobFactory::IsHandledProtocol(
+ const std::string& scheme) const {
+ return true;
+}
+
+bool MockURLRequestJobFactory::IsSafeRedirectTarget(
+ const GURL& location) const {
+ return true;
+}
+
+std::unique_ptr<net::URLRequest> CreateURLRequest(
+ const net::TestURLRequestContext& url_request_context,
+ const GURL& url,
+ net::RequestPriority priority,
+ content::ResourceType resource_type,
+ bool is_main_frame) {
+ std::unique_ptr<net::URLRequest> request = url_request_context.CreateRequest(
+ url, priority, &g_empty_url_request_delegate);
+ request->set_first_party_for_cookies(url);
+ content::ResourceRequestInfo::AllocateForTesting(
+ request.get(), resource_type, nullptr, -1, -1, -1, is_main_frame, false,
+ false, true, content::PREVIEWS_OFF);
+ request->Start();
+ return request;
+}
+
std::ostream& operator<<(std::ostream& os, const PrefetchData& data) {
os << "[" << data.primary_key() << "," << data.last_visit_time() << "]"
<< std::endl;
« no previous file with comments | « chrome/browser/predictors/loading_test_util.h ('k') | chrome/browser/predictors/resource_prefetch_predictor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698