| 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;
|
|
|