summaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
Diffstat (limited to 'components')
-rw-r--r--components/devtools_service/devtools_agent_host.cc5
-rw-r--r--components/devtools_service/devtools_agent_host.h10
-rw-r--r--components/devtools_service/devtools_http_server.cc19
-rw-r--r--components/html_viewer/devtools_agent_impl.cc2
-rw-r--r--components/html_viewer/devtools_agent_impl.h6
-rw-r--r--components/view_manager/client_connection.cc7
-rw-r--r--components/view_manager/client_connection.h7
-rw-r--r--components/view_manager/gles2/command_buffer_impl.cc2
-rw-r--r--components/view_manager/gles2/command_buffer_impl.h6
-rw-r--r--components/view_manager/public/cpp/lib/view_manager_client_impl.cc8
-rw-r--r--components/view_manager/public/cpp/lib/view_manager_client_impl.h6
-rw-r--r--components/view_manager/view_manager_app.cc4
-rw-r--r--components/view_manager/view_manager_app.h4
-rw-r--r--components/view_manager/view_manager_root_connection.cc6
-rw-r--r--components/view_manager/view_manager_root_connection.h7
15 files changed, 22 insertions, 77 deletions
diff --git a/components/devtools_service/devtools_agent_host.cc b/components/devtools_service/devtools_agent_host.cc
index d31811a..d344a59 100644
--- a/components/devtools_service/devtools_agent_host.cc
+++ b/components/devtools_service/devtools_agent_host.cc
@@ -14,7 +14,6 @@ DevToolsAgentHost::DevToolsAgentHost(DevToolsAgentPtr agent)
agent_(agent.Pass()),
binding_(this),
delegate_(nullptr) {
- agent_.set_error_handler(this);
}
DevToolsAgentHost::~DevToolsAgentHost() {
@@ -47,8 +46,4 @@ void DevToolsAgentHost::DispatchProtocolMessage(const mojo::String& message) {
delegate_->DispatchProtocolMessage(this, message);
}
-void DevToolsAgentHost::OnConnectionError() {
- agent_connection_error_handler_.Run();
-}
-
} // namespace devtools_service
diff --git a/components/devtools_service/devtools_agent_host.h b/components/devtools_service/devtools_agent_host.h
index 7b5e759..84591c7 100644
--- a/components/devtools_service/devtools_agent_host.h
+++ b/components/devtools_service/devtools_agent_host.h
@@ -11,13 +11,11 @@
#include "components/devtools_service/public/interfaces/devtools_service.mojom.h"
#include "third_party/mojo/src/mojo/public/cpp/bindings/binding.h"
#include "third_party/mojo/src/mojo/public/cpp/bindings/callback.h"
-#include "third_party/mojo/src/mojo/public/cpp/bindings/error_handler.h"
namespace devtools_service {
// DevToolsAgentHost represents a DevTools agent at the service side.
-class DevToolsAgentHost : public DevToolsAgentClient,
- public mojo::ErrorHandler {
+class DevToolsAgentHost : public DevToolsAgentClient {
public:
class Delegate {
public:
@@ -35,7 +33,7 @@ class DevToolsAgentHost : public DevToolsAgentClient,
~DevToolsAgentHost() override;
void set_agent_connection_error_handler(const mojo::Closure& handler) {
- agent_connection_error_handler_ = handler;
+ agent_.set_connection_error_handler(handler);
}
std::string id() const { return id_; }
@@ -53,13 +51,9 @@ class DevToolsAgentHost : public DevToolsAgentClient,
// DevToolsAgentClient implementation.
void DispatchProtocolMessage(const mojo::String& message) override;
- // mojo::ErrorHandler implementation.
- void OnConnectionError() override;
-
const std::string id_;
DevToolsAgentPtr agent_;
- mojo::Closure agent_connection_error_handler_;
mojo::Binding<DevToolsAgentClient> binding_;
diff --git a/components/devtools_service/devtools_http_server.cc b/components/devtools_service/devtools_http_server.cc
index 372cd37..22d3258 100644
--- a/components/devtools_service/devtools_http_server.cc
+++ b/components/devtools_service/devtools_http_server.cc
@@ -115,8 +115,7 @@ mojo::HttpResponsePtr MakeJsonResponse(uint32_t status_code,
}
class WebSocketRelayer : public DevToolsAgentHost::Delegate,
- public mojo::WebSocketClient,
- public mojo::ErrorHandler {
+ public mojo::WebSocketClient {
public:
// Creates a WebSocketRelayer instance and sets it as the delegate of
// |agent_host|.
@@ -152,7 +151,7 @@ class WebSocketRelayer : public DevToolsAgentHost::Delegate,
write_send_stream_(new mojo::WebSocketWriteQueue(send_stream_.get())),
pending_send_count_(0),
pending_receive_count_(0) {
- web_socket_.set_error_handler(this);
+ web_socket_.set_connection_error_handler([this]() { OnConnectionError(); });
agent_host->SetDelegate(this);
}
@@ -227,8 +226,7 @@ class WebSocketRelayer : public DevToolsAgentHost::Delegate,
uint16_t code,
const mojo::String& reason) override {}
- // mojo::ErrorHandler implementation.
- void OnConnectionError() override {
+ void OnConnectionError() {
web_socket_ = nullptr;
binding_.Close();
@@ -281,8 +279,7 @@ class WebSocketRelayer : public DevToolsAgentHost::Delegate,
} // namespace
class DevToolsHttpServer::HttpConnectionDelegateImpl
- : public mojo::HttpConnectionDelegate,
- public mojo::ErrorHandler {
+ : public mojo::HttpConnectionDelegate {
public:
HttpConnectionDelegateImpl(
DevToolsHttpServer* owner,
@@ -295,8 +292,9 @@ class DevToolsHttpServer::HttpConnectionDelegateImpl
DCHECK(connection_);
DCHECK(binding_.is_bound());
- connection_.set_error_handler(this);
- binding_.set_error_handler(this);
+ auto error_handler = [this]() { owner_->OnConnectionClosed(this); };
+ connection_.set_connection_error_handler(error_handler);
+ binding_.set_connection_error_handler(error_handler);
}
mojo::HttpConnection* connection() { return connection_.get(); }
@@ -314,9 +312,6 @@ class DevToolsHttpServer::HttpConnectionDelegateImpl
owner_->OnReceivedWebSocketRequest(this, request.Pass(), callback);
}
- // mojo::ErrorHandler implementation.
- void OnConnectionError() override { owner_->OnConnectionClosed(this); }
-
DevToolsHttpServer* const owner_;
mojo::HttpConnectionPtr connection_;
mojo::Binding<HttpConnectionDelegate> binding_;
diff --git a/components/html_viewer/devtools_agent_impl.cc b/components/html_viewer/devtools_agent_impl.cc
index 8430cfe..630b215 100644
--- a/components/html_viewer/devtools_agent_impl.cc
+++ b/components/html_viewer/devtools_agent_impl.cc
@@ -52,7 +52,7 @@ void DevToolsAgentImpl::SetClient(
frame_->devToolsAgent()->detach();
client_ = client.Pass();
- client_.set_error_handler(this);
+ client_.set_connection_error_handler([this]() { OnConnectionError(); });
frame_->devToolsAgent()->attach(blink::WebString::fromUTF8(client_id));
}
diff --git a/components/html_viewer/devtools_agent_impl.h b/components/html_viewer/devtools_agent_impl.h
index 3182f5c..1998928 100644
--- a/components/html_viewer/devtools_agent_impl.h
+++ b/components/html_viewer/devtools_agent_impl.h
@@ -21,8 +21,7 @@ class Shell;
namespace html_viewer {
class DevToolsAgentImpl : public devtools_service::DevToolsAgent,
- public blink::WebDevToolsAgentClient,
- public mojo::ErrorHandler {
+ public blink::WebDevToolsAgentClient {
public:
// |frame| must outlive this object.
DevToolsAgentImpl(blink::WebLocalFrame* frame, mojo::Shell* shell);
@@ -46,8 +45,7 @@ class DevToolsAgentImpl : public devtools_service::DevToolsAgent,
const blink::WebString& response,
const blink::WebString& state);
- // mojo::ErrorHandler implementation.
- void OnConnectionError() override;
+ void OnConnectionError();
blink::WebLocalFrame* const frame_;
mojo::Binding<DevToolsAgent> binding_;
diff --git a/components/view_manager/client_connection.cc b/components/view_manager/client_connection.cc
index 62aae04..113de0e 100644
--- a/components/view_manager/client_connection.cc
+++ b/components/view_manager/client_connection.cc
@@ -26,14 +26,11 @@ DefaultClientConnection::DefaultClientConnection(
connection_manager_(connection_manager),
binding_(service(), service_request.Pass()),
client_(client.Pass()) {
- binding_.set_error_handler(this);
+ binding_.set_connection_error_handler(
+ [this]() { connection_manager_->OnConnectionError(this); });
}
DefaultClientConnection::~DefaultClientConnection() {
}
-void DefaultClientConnection::OnConnectionError() {
- connection_manager_->OnConnectionError(this);
-}
-
} // namespace view_manager
diff --git a/components/view_manager/client_connection.h b/components/view_manager/client_connection.h
index a43e0c8..f35adda 100644
--- a/components/view_manager/client_connection.h
+++ b/components/view_manager/client_connection.h
@@ -8,7 +8,6 @@
#include "base/memory/scoped_ptr.h"
#include "components/view_manager/public/interfaces/view_manager.mojom.h"
#include "third_party/mojo/src/mojo/public/cpp/bindings/binding.h"
-#include "third_party/mojo/src/mojo/public/cpp/bindings/error_handler.h"
namespace view_manager {
@@ -36,8 +35,7 @@ class ClientConnection {
};
// Bindings implementation of ClientConnection.
-class DefaultClientConnection : public ClientConnection,
- public mojo::ErrorHandler {
+class DefaultClientConnection : public ClientConnection {
public:
DefaultClientConnection(
scoped_ptr<ViewManagerServiceImpl> service_impl,
@@ -47,9 +45,6 @@ class DefaultClientConnection : public ClientConnection,
~DefaultClientConnection() override;
private:
- // ErrorHandler:
- void OnConnectionError() override;
-
ConnectionManager* connection_manager_;
mojo::Binding<mojo::ViewManagerService> binding_;
mojo::ViewManagerClientPtr client_;
diff --git a/components/view_manager/gles2/command_buffer_impl.cc b/components/view_manager/gles2/command_buffer_impl.cc
index 059093e..9a2a97b 100644
--- a/components/view_manager/gles2/command_buffer_impl.cc
+++ b/components/view_manager/gles2/command_buffer_impl.cc
@@ -151,7 +151,7 @@ CommandBufferImpl::~CommandBufferImpl() {
void CommandBufferImpl::BindToRequest(
mojo::InterfaceRequest<mojo::CommandBuffer> request) {
binding_.Bind(request.Pass());
- binding_.set_error_handler(this);
+ binding_.set_connection_error_handler([this]() { OnConnectionError(); });
}
void CommandBufferImpl::OnConnectionError() {
diff --git a/components/view_manager/gles2/command_buffer_impl.h b/components/view_manager/gles2/command_buffer_impl.h
index ccfc467..2961d94 100644
--- a/components/view_manager/gles2/command_buffer_impl.h
+++ b/components/view_manager/gles2/command_buffer_impl.h
@@ -23,8 +23,7 @@ class CommandBufferImplObserver;
// so that we can insert sync points without blocking on the GL driver. It
// forwards most method calls to the CommandBufferDriver, which runs on the
// same thread as the native viewport.
-class CommandBufferImpl : public mojo::CommandBuffer,
- public mojo::ErrorHandler {
+class CommandBufferImpl : public mojo::CommandBuffer {
public:
CommandBufferImpl(
mojo::InterfaceRequest<CommandBuffer> request,
@@ -74,8 +73,7 @@ class CommandBufferImpl : public mojo::CommandBuffer,
void UpdateVSyncParameters(base::TimeTicks timebase,
base::TimeDelta interval);
- // mojo::ErrorHandler:
- void OnConnectionError() override;
+ void OnConnectionError();
scoped_refptr<gpu::SyncPointManager> sync_point_manager_;
scoped_refptr<base::SingleThreadTaskRunner> driver_task_runner_;
diff --git a/components/view_manager/public/cpp/lib/view_manager_client_impl.cc b/components/view_manager/public/cpp/lib/view_manager_client_impl.cc
index a2fc4c8..f0e6a4c 100644
--- a/components/view_manager/public/cpp/lib/view_manager_client_impl.cc
+++ b/components/view_manager/public/cpp/lib/view_manager_client_impl.cc
@@ -254,7 +254,7 @@ void ViewManagerClientImpl::OnEmbed(ConnectionSpecificId connection_id,
if (view_manager_service) {
DCHECK(!service_);
service_ = view_manager_service.Pass();
- service_.set_error_handler(this);
+ service_.set_connection_error_handler([this]() { delete this; });
}
connection_id_ = connection_id;
@@ -406,12 +406,6 @@ void ViewManagerClientImpl::OnViewFocused(Id focused_view_id) {
}
////////////////////////////////////////////////////////////////////////////////
-// OnConnectionError, private:
-void ViewManagerClientImpl::OnConnectionError() {
- delete this;
-}
-
-////////////////////////////////////////////////////////////////////////////////
// ViewManagerClientImpl, private:
void ViewManagerClientImpl::OnActionCompleted(bool success) {
diff --git a/components/view_manager/public/cpp/lib/view_manager_client_impl.h b/components/view_manager/public/cpp/lib/view_manager_client_impl.h
index db0bc373..0e76ef8 100644
--- a/components/view_manager/public/cpp/lib/view_manager_client_impl.h
+++ b/components/view_manager/public/cpp/lib/view_manager_client_impl.h
@@ -19,8 +19,7 @@ class ViewManagerTransaction;
// Manages the connection with the View Manager service.
class ViewManagerClientImpl : public ViewManager,
- public ViewManagerClient,
- public ErrorHandler {
+ public ViewManagerClient {
public:
ViewManagerClientImpl(ViewManagerDelegate* delegate,
Shell* shell,
@@ -123,9 +122,6 @@ class ViewManagerClientImpl : public ViewManager,
const Callback<void()>& callback) override;
void OnViewFocused(Id focused_view_id) override;
- // ErrorHandler implementation.
- void OnConnectionError() override;
-
void RootDestroyed(View* root);
void OnActionCompleted(bool success);
diff --git a/components/view_manager/view_manager_app.cc b/components/view_manager/view_manager_app.cc
index 21827ed..6cbed25 100644
--- a/components/view_manager/view_manager_app.cc
+++ b/components/view_manager/view_manager_app.cc
@@ -125,8 +125,4 @@ void ViewManagerApp::Create(
new gles2::GpuImpl(request.Pass(), gpu_state_);
}
-void ViewManagerApp::OnConnectionError() {
- app_impl_->Terminate();
-}
-
} // namespace view_manager
diff --git a/components/view_manager/view_manager_app.h b/components/view_manager/view_manager_app.h
index afedb3b..672b1e6a 100644
--- a/components/view_manager/view_manager_app.h
+++ b/components/view_manager/view_manager_app.h
@@ -29,7 +29,6 @@ class ConnectionManager;
class ViewManagerApp : public mojo::ApplicationDelegate,
public ConnectionManagerDelegate,
- public mojo::ErrorHandler,
public mojo::InterfaceFactory<mojo::ViewManagerRoot>,
public mojo::InterfaceFactory<mojo::Gpu> {
public:
@@ -65,9 +64,6 @@ class ViewManagerApp : public mojo::ApplicationDelegate,
void Create(mojo::ApplicationConnection* connection,
mojo::InterfaceRequest<mojo::Gpu> request) override;
- // ErrorHandler (for |wm_internal_| and |wm_internal_client_binding_|).
- void OnConnectionError() override;
-
mojo::ApplicationImpl* app_impl_;
scoped_ptr<ConnectionManager> connection_manager_;
mojo::TracingImpl tracing_;
diff --git a/components/view_manager/view_manager_root_connection.cc b/components/view_manager/view_manager_root_connection.cc
index 216e367..18e7f29 100644
--- a/components/view_manager/view_manager_root_connection.cc
+++ b/components/view_manager/view_manager_root_connection.cc
@@ -51,7 +51,7 @@ ViewManagerRootConnectionImpl::ViewManagerRootConnectionImpl(
ConnectionManager* manager)
: ViewManagerRootConnection(root.Pass(), manager),
binding_(view_manager_root(), request.Pass()) {
- binding_.set_error_handler(this);
+ binding_.set_connection_error_handler([this]() { CloseConnection(); });
connection_manager()->AddRoot(this);
set_view_manager_service(connection_manager()->EmbedAtView(
@@ -63,8 +63,4 @@ ViewManagerRootConnectionImpl::ViewManagerRootConnectionImpl(
ViewManagerRootConnectionImpl::~ViewManagerRootConnectionImpl() {
}
-void ViewManagerRootConnectionImpl::OnConnectionError() {
- CloseConnection();
-}
-
} // namespace view_manager
diff --git a/components/view_manager/view_manager_root_connection.h b/components/view_manager/view_manager_root_connection.h
index ce95624..4d1d8b3 100644
--- a/components/view_manager/view_manager_root_connection.h
+++ b/components/view_manager/view_manager_root_connection.h
@@ -10,7 +10,6 @@
#include "components/view_manager/view_manager_root_delegate.h"
#include "components/view_manager/view_manager_root_impl.h"
#include "third_party/mojo/src/mojo/public/cpp/bindings/binding.h"
-#include "third_party/mojo/src/mojo/public/cpp/bindings/error_handler.h"
namespace view_manager {
@@ -61,8 +60,7 @@ class ViewManagerRootConnection : public ViewManagerRootDelegate {
};
// Live implementation of ViewManagerRootConnection.
-class ViewManagerRootConnectionImpl : public mojo::ErrorHandler,
- public ViewManagerRootConnection {
+class ViewManagerRootConnectionImpl : public ViewManagerRootConnection {
public:
ViewManagerRootConnectionImpl(
mojo::InterfaceRequest<mojo::ViewManagerRoot> request,
@@ -73,9 +71,6 @@ class ViewManagerRootConnectionImpl : public mojo::ErrorHandler,
private:
~ViewManagerRootConnectionImpl() override;
- // ErrorHandler:
- void OnConnectionError() override;
-
mojo::Binding<mojo::ViewManagerRoot> binding_;
DISALLOW_COPY_AND_ASSIGN(ViewManagerRootConnectionImpl);