| Index: chrome/browser/safe_browsing/local_safebrowsing_test_server.cc
|
| diff --git a/chrome/browser/safe_browsing/local_safebrowsing_test_server.cc b/chrome/browser/safe_browsing/local_safebrowsing_test_server.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c25e4d76ba8ee2c4dc4e9c1be73deaa20871e354
|
| --- /dev/null
|
| +++ b/chrome/browser/safe_browsing/local_safebrowsing_test_server.cc
|
| @@ -0,0 +1,61 @@
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "chrome/browser/safe_browsing/local_safebrowsing_test_server.h"
|
| +
|
| +#include "base/command_line.h"
|
| +#include "base/path_service.h"
|
| +#include "base/string_number_conversions.h"
|
| +#include "base/values.h"
|
| +#include "net/test/python_utils.h"
|
| +#include "net/test/test_server.h"
|
| +
|
| +LocalSafeBrowsingTestServer::LocalSafeBrowsingTestServer(
|
| + const FilePath& data_file)
|
| + : net::LocalTestServer(net::TestServer::TYPE_HTTP,
|
| + net::TestServer::kLocalhost,
|
| + FilePath()),
|
| + data_file_(data_file) {
|
| +}
|
| +
|
| +LocalSafeBrowsingTestServer::~LocalSafeBrowsingTestServer() {}
|
| +
|
| +bool LocalSafeBrowsingTestServer::GetTestServerPath(
|
| + FilePath* testserver_path) const {
|
| + FilePath testserver_dir;
|
| + if (!PathService::Get(base::DIR_SOURCE_ROOT, &testserver_dir)) {
|
| + LOG(ERROR) << "Failed to get DIR_SOURCE_ROOT";
|
| + return false;
|
| + }
|
| +
|
| + testserver_dir = testserver_dir
|
| + .Append(FILE_PATH_LITERAL("chrome"))
|
| + .Append(FILE_PATH_LITERAL("browser"))
|
| + .Append(FILE_PATH_LITERAL("safe_browsing"));
|
| +
|
| + *testserver_path = testserver_dir.Append(FILE_PATH_LITERAL(
|
| + "safe_browsing_testserver.py"));
|
| + return true;
|
| +}
|
| +
|
| +bool LocalSafeBrowsingTestServer::SetPythonPath() const {
|
| + if (!net::LocalTestServer::SetPythonPath())
|
| + return false;
|
| +
|
| + // Locate the Python code generated by the protocol buffers compiler.
|
| + FilePath pyproto_dir;
|
| + if (!GetPyProtoPath(&pyproto_dir)) {
|
| + LOG(ERROR) << "Cannot find pyproto dir for generated code.";
|
| + return false;
|
| + }
|
| +
|
| + AppendToPythonPath(pyproto_dir.AppendASCII("google"));
|
| + return true;
|
| +}
|
| +
|
| +bool LocalSafeBrowsingTestServer::GenerateAdditionalArguments(
|
| + base::DictionaryValue* arguments) const {
|
| + arguments->SetString("data-file", data_file_.value());
|
| + return true;
|
| +}
|
|
|