Commit a8d13c1d authored by Andrey Kosyakov's avatar Andrey Kosyakov Committed by Commit Bot

Headless: remove devtools protocol network handler

Network conditions management is now done in content, so support for
this in headless is redundant.

Change-Id: I559de2c65e659c026b7e8e9d9021340e6271af92
Reviewed-on: https://chromium-review.googlesource.com/1255610Reviewed-by: default avatarDmitry Gozman <dgozman@chromium.org>
Commit-Queue: Andrey Kosyakov <caseq@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595637}
parent 94893f7c
...@@ -304,8 +304,6 @@ jumbo_component("headless") { ...@@ -304,8 +304,6 @@ jumbo_component("headless") {
"lib/browser/headless_devtools_client_impl.cc", "lib/browser/headless_devtools_client_impl.cc",
"lib/browser/headless_devtools_manager_delegate.cc", "lib/browser/headless_devtools_manager_delegate.cc",
"lib/browser/headless_devtools_manager_delegate.h", "lib/browser/headless_devtools_manager_delegate.h",
"lib/browser/headless_network_conditions.cc",
"lib/browser/headless_network_conditions.h",
"lib/browser/headless_permission_manager.cc", "lib/browser/headless_permission_manager.cc",
"lib/browser/headless_permission_manager.h", "lib/browser/headless_permission_manager.h",
"lib/browser/headless_platform_event_source.cc", "lib/browser/headless_platform_event_source.cc",
...@@ -327,8 +325,6 @@ jumbo_component("headless") { ...@@ -327,8 +325,6 @@ jumbo_component("headless") {
"lib/browser/protocol/headless_devtools_session.h", "lib/browser/protocol/headless_devtools_session.h",
"lib/browser/protocol/headless_handler.cc", "lib/browser/protocol/headless_handler.cc",
"lib/browser/protocol/headless_handler.h", "lib/browser/protocol/headless_handler.h",
"lib/browser/protocol/network_handler.cc",
"lib/browser/protocol/network_handler.h",
"lib/browser/protocol/page_handler.cc", "lib/browser/protocol/page_handler.cc",
"lib/browser/protocol/page_handler.h", "lib/browser/protocol/page_handler.h",
"lib/browser/protocol/protocol_string.cc", "lib/browser/protocol/protocol_string.cc",
......
...@@ -363,15 +363,6 @@ const std::string& HeadlessBrowserContextImpl::Id() const { ...@@ -363,15 +363,6 @@ const std::string& HeadlessBrowserContextImpl::Id() const {
return UniqueId(); return UniqueId();
} }
void HeadlessBrowserContextImpl::SetNetworkConditions(
HeadlessNetworkConditions conditions) {
network_conditions_ = conditions;
}
HeadlessNetworkConditions HeadlessBrowserContextImpl::GetNetworkConditions() {
return network_conditions_;
}
HeadlessBrowserContext::Builder::Builder(HeadlessBrowserImpl* browser) HeadlessBrowserContext::Builder::Builder(HeadlessBrowserImpl* browser)
: browser_(browser), : browser_(browser),
options_(new HeadlessBrowserContextOptions(browser->options())) {} options_(new HeadlessBrowserContextOptions(browser->options())) {}
......
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
#include "content/public/browser/global_routing_id.h" #include "content/public/browser/global_routing_id.h"
#include "content/public/browser/resource_context.h" #include "content/public/browser/resource_context.h"
#include "headless/lib/browser/headless_browser_context_options.h" #include "headless/lib/browser/headless_browser_context_options.h"
#include "headless/lib/browser/headless_network_conditions.h"
#include "headless/lib/browser/headless_url_request_context_getter.h" #include "headless/lib/browser/headless_url_request_context_getter.h"
#include "headless/public/headless_browser.h" #include "headless/public/headless_browser.h"
#include "headless/public/headless_browser_context.h" #include "headless/public/headless_browser_context.h"
...@@ -110,9 +109,6 @@ class HEADLESS_EXPORT HeadlessBrowserContextImpl final ...@@ -110,9 +109,6 @@ class HEADLESS_EXPORT HeadlessBrowserContextImpl final
const base::UnguessableToken* GetDevToolsFrameTokenForFrameTreeNodeId( const base::UnguessableToken* GetDevToolsFrameTokenForFrameTreeNodeId(
int frame_tree_node_id) const; int frame_tree_node_id) const;
void SetNetworkConditions(HeadlessNetworkConditions conditions);
HeadlessNetworkConditions GetNetworkConditions() override;
private: private:
HeadlessBrowserContextImpl( HeadlessBrowserContextImpl(
HeadlessBrowserImpl* browser, HeadlessBrowserImpl* browser,
...@@ -144,8 +140,6 @@ class HEADLESS_EXPORT HeadlessBrowserContextImpl final ...@@ -144,8 +140,6 @@ class HEADLESS_EXPORT HeadlessBrowserContextImpl final
std::unique_ptr<content::PermissionControllerDelegate> std::unique_ptr<content::PermissionControllerDelegate>
permission_controller_delegate_; permission_controller_delegate_;
HeadlessNetworkConditions network_conditions_;
DISALLOW_COPY_AND_ASSIGN(HeadlessBrowserContextImpl); DISALLOW_COPY_AND_ASSIGN(HeadlessBrowserContextImpl);
}; };
......
// Copyright 2017 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 "headless/lib/browser/headless_network_conditions.h"
namespace headless {
HeadlessNetworkConditions::HeadlessNetworkConditions()
: HeadlessNetworkConditions(false) {}
HeadlessNetworkConditions::HeadlessNetworkConditions(bool offline)
: HeadlessNetworkConditions(offline, 0, 0, 0) {}
HeadlessNetworkConditions::HeadlessNetworkConditions(bool offline,
double latency,
double download_throughput,
double upload_throughput)
: offline(offline),
latency(latency),
download_throughput(download_throughput),
upload_throughput(upload_throughput) {}
HeadlessNetworkConditions::~HeadlessNetworkConditions() = default;
} // namespace headless
// Copyright 2017 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.
#ifndef HEADLESS_LIB_BROWSER_HEADLESS_NETWORK_CONDITIONS_H_
#define HEADLESS_LIB_BROWSER_HEADLESS_NETWORK_CONDITIONS_H_
#include <string>
#include <vector>
#include "base/macros.h"
#include "headless/public/headless_export.h"
namespace headless {
// HeadlessNetworkConditions holds information about desired network conditions.
struct HEADLESS_EXPORT HeadlessNetworkConditions {
HeadlessNetworkConditions();
~HeadlessNetworkConditions();
explicit HeadlessNetworkConditions(bool offline);
HeadlessNetworkConditions(bool offline,
double latency,
double download_throughput,
double upload_throughput);
bool offline;
double latency;
double download_throughput;
double upload_throughput;
};
} // namespace headless
#endif // HEADLESS_LIB_BROWSER_HEADLESS_NETWORK_CONDITIONS_H_
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
#include "content/public/browser/devtools_agent_host_client.h" #include "content/public/browser/devtools_agent_host_client.h"
#include "headless/lib/browser/protocol/browser_handler.h" #include "headless/lib/browser/protocol/browser_handler.h"
#include "headless/lib/browser/protocol/headless_handler.h" #include "headless/lib/browser/protocol/headless_handler.h"
#include "headless/lib/browser/protocol/network_handler.h"
#include "headless/lib/browser/protocol/page_handler.h" #include "headless/lib/browser/protocol/page_handler.h"
#include "headless/lib/browser/protocol/target_handler.h" #include "headless/lib/browser/protocol/target_handler.h"
...@@ -32,7 +31,6 @@ HeadlessDevToolsSession::HeadlessDevToolsSession( ...@@ -32,7 +31,6 @@ HeadlessDevToolsSession::HeadlessDevToolsSession(
} }
if (agent_host->GetType() == content::DevToolsAgentHost::kTypeBrowser) if (agent_host->GetType() == content::DevToolsAgentHost::kTypeBrowser)
AddHandler(std::make_unique<BrowserHandler>(browser_)); AddHandler(std::make_unique<BrowserHandler>(browser_));
AddHandler(std::make_unique<NetworkHandler>(browser_));
AddHandler(std::make_unique<TargetHandler>(browser_)); AddHandler(std::make_unique<TargetHandler>(browser_));
} }
......
// Copyright 2014 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 "headless/lib/browser/protocol/network_handler.h"
#include "headless/lib/browser/headless_browser_context_impl.h"
#include "headless/lib/browser/headless_browser_impl.h"
namespace headless {
namespace protocol {
NetworkHandler::NetworkHandler(base::WeakPtr<HeadlessBrowserImpl> browser)
: DomainHandler(Network::Metainfo::domainName, browser) {}
NetworkHandler::~NetworkHandler() = default;
void NetworkHandler::Wire(UberDispatcher* dispatcher) {
Network::Dispatcher::wire(dispatcher, this);
}
Response NetworkHandler::EmulateNetworkConditions(
bool offline,
double latency,
double download_throughput,
double upload_throughput,
Maybe<Network::ConnectionType>) {
// Associate NetworkConditions to context
std::vector<HeadlessBrowserContext*> browser_contexts =
browser()->GetAllBrowserContexts();
HeadlessNetworkConditions conditions(HeadlessNetworkConditions(
offline, std::max(latency, 0.0), std::max(download_throughput, 0.0),
std::max(upload_throughput, 0.0)));
SetNetworkConditions(browser_contexts, conditions);
return Response::FallThrough();
}
Response NetworkHandler::Disable() {
// Can be a part of the shutdown cycle.
if (!browser())
return Response::OK();
std::vector<HeadlessBrowserContext*> browser_contexts =
browser()->GetAllBrowserContexts();
SetNetworkConditions(browser_contexts, HeadlessNetworkConditions());
return Response::FallThrough();
}
void NetworkHandler::SetNetworkConditions(
std::vector<HeadlessBrowserContext*> browser_contexts,
HeadlessNetworkConditions conditions) {
for (std::vector<HeadlessBrowserContext*>::iterator it =
browser_contexts.begin();
it != browser_contexts.end(); ++it) {
HeadlessBrowserContextImpl* context =
static_cast<HeadlessBrowserContextImpl*>(*it);
context->SetNetworkConditions(conditions);
}
}
} // namespace protocol
} // namespace headless
// Copyright 2014 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.
#ifndef HEADLESS_LIB_BROWSER_PROTOCOL_NETWORK_HANDLER_H_
#define HEADLESS_LIB_BROWSER_PROTOCOL_NETWORK_HANDLER_H_
#include "headless/lib/browser/headless_network_conditions.h"
#include "headless/lib/browser/protocol/domain_handler.h"
#include "headless/lib/browser/protocol/dp_network.h"
namespace headless {
class HeadlessBrowserContext;
namespace protocol {
class NetworkHandler : public DomainHandler, public Network::Backend {
public:
explicit NetworkHandler(base::WeakPtr<HeadlessBrowserImpl> browser);
~NetworkHandler() override;
void Wire(UberDispatcher* dispatcher) override;
// Network::Backend implementation
Response EmulateNetworkConditions(
bool offline,
double latency,
double download_throughput,
double upload_throughput,
Maybe<Network::ConnectionType> connection_type) override;
Response Disable() override;
private:
void SetNetworkConditions(
std::vector<HeadlessBrowserContext*> browser_contexts,
HeadlessNetworkConditions conditions);
DISALLOW_COPY_AND_ASSIGN(NetworkHandler);
};
} // namespace protocol
} // namespace headless
#endif // HEADLESS_LIB_BROWSER_PROTOCOL_NETWORK_HANDLER_H_
...@@ -24,11 +24,6 @@ ...@@ -24,11 +24,6 @@
"domain": "HeadlessExperimental", "domain": "HeadlessExperimental",
"async": ["beginFrame"] "async": ["beginFrame"]
}, },
{
"domain": "Network",
"include": ["emulateNetworkConditions", "disable"],
"include_events": []
},
{ {
"domain": "Page", "domain": "Page",
"include": ["printToPDF"], "include": ["printToPDF"],
......
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
#include "base/optional.h" #include "base/optional.h"
#include "content/public/browser/browser_context.h" #include "content/public/browser/browser_context.h"
#include "content/public/common/web_preferences.h" #include "content/public/common/web_preferences.h"
#include "headless/lib/browser/headless_network_conditions.h"
#include "headless/public/headless_export.h" #include "headless/public/headless_export.h"
#include "headless/public/headless_web_contents.h" #include "headless/public/headless_web_contents.h"
#include "net/proxy_resolution/proxy_resolution_service.h" #include "net/proxy_resolution/proxy_resolution_service.h"
...@@ -65,8 +64,6 @@ class HEADLESS_EXPORT HeadlessBrowserContext { ...@@ -65,8 +64,6 @@ class HEADLESS_EXPORT HeadlessBrowserContext {
// GUID for this browser context. // GUID for this browser context.
virtual const std::string& Id() const = 0; virtual const std::string& Id() const = 0;
virtual HeadlessNetworkConditions GetNetworkConditions() = 0;
// TODO(skyostil): Allow saving and restoring contexts (crbug.com/617931). // TODO(skyostil): Allow saving and restoring contexts (crbug.com/617931).
protected: protected:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment