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

Unified Diff: chrome/browser/policy/device_management_service_browsertest.cc

Issue 11293252: Change Interceptors into URLRequestJobFactory::ProtocolHandlers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month 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/policy/device_management_service_browsertest.cc
diff --git a/chrome/browser/policy/device_management_service_browsertest.cc b/chrome/browser/policy/device_management_service_browsertest.cc
index 0e7bf9a7eeecd2d48ab9328590bd37d758e3d503..d7c96cd9c604e818b139aba0df343be574221bd6 100644
--- a/chrome/browser/policy/device_management_service_browsertest.cc
+++ b/chrome/browser/policy/device_management_service_browsertest.cc
@@ -8,14 +8,18 @@
#include "chrome/browser/policy/cloud_policy_constants.h"
#include "chrome/browser/policy/device_management_service.h"
#include "chrome/test/base/in_process_browser_test.h"
+#include "content/public/browser/browser_thread.h"
#include "net/base/upload_data.h"
#include "net/test/test_server.h"
#include "net/url_request/url_fetcher.h"
#include "net/url_request/url_request.h"
+#include "net/url_request/url_request_filter.h"
+#include "net/url_request/url_request_job_factory.h"
#include "net/url_request/url_request_test_job.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
+using content::BrowserThread;
using testing::DoAll;
using testing::Invoke;
using testing::InvokeWithoutArgs;
@@ -29,21 +33,26 @@ namespace policy {
const char kServiceUrl[] = "http://example.com/device_management";
// Interceptor implementation that returns test data back to the service.
-class CannedResponseInterceptor : public net::URLRequest::Interceptor {
+class CannedResponseInterceptor
+ : public net::URLRequestJobFactory::ProtocolHandler {
public:
explicit CannedResponseInterceptor(const GURL& service_url)
: service_url_(service_url) {
- net::URLRequest::Deprecated::RegisterRequestInterceptor(this);
+ BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
+ base::Bind(&CannedResponseInterceptor::Register,
+ base::Unretained(this)));
}
virtual ~CannedResponseInterceptor() {
- net::URLRequest::Deprecated::UnregisterRequestInterceptor(this);
+ BrowserThread::PostTask(BrowserThread::IO,
+ FROM_HERE,
+ base::Bind(Unregister));
}
- // net::URLRequest::Interceptor overrides.
- virtual net::URLRequestJob* MaybeIntercept(
+ // net::URLRequestJobFactory::ProtocolHandler overrides.
+ virtual net::URLRequestJob* MaybeCreateJob(
net::URLRequest* request,
- net::NetworkDelegate* network_delegate) OVERRIDE {
+ net::NetworkDelegate* network_delegate) const OVERRIDE {
em::DeviceManagementRequest dm_request;
net::UploadData* upload = request->get_upload_mutable();
if (request->url().GetOrigin() == service_url_.GetOrigin() &&
@@ -65,9 +74,17 @@ class CannedResponseInterceptor : public net::URLRequest::Interceptor {
}
private:
+ void Register() {
+ net::URLRequestFilter::GetInstance()->AddHostnameProtocolHandler(
+ "http", "example.com", this);
+ }
+ static void Unregister() {
+ net::URLRequestFilter::GetInstance()->RemoveHostnameHandler(
+ "http", "example.com");
+ }
void ConstructResponse(const char* request_data,
uint64 request_data_length,
- std::string* response_data) {
+ std::string* response_data) const {
em::DeviceManagementRequest request;
ASSERT_TRUE(request.ParseFromArray(request_data, request_data_length));
em::DeviceManagementResponse response;

Powered by Google App Engine
This is Rietveld 408576698