Index: blimp/client/core/blimp_client_context_impl.cc |
diff --git a/blimp/client/core/blimp_client_context_impl.cc b/blimp/client/core/blimp_client_context_impl.cc |
index 75ab73c39e9adbf027ad76741b8724d73f87642f..d53b864df65d80473815f6b910f3d51c267801cc 100644 |
--- a/blimp/client/core/blimp_client_context_impl.cc |
+++ b/blimp/client/core/blimp_client_context_impl.cc |
@@ -11,6 +11,7 @@ |
#include "base/threading/sequenced_task_runner_handle.h" |
#include "blimp/client/core/blimp_client_switches.h" |
#include "blimp/client/core/compositor/blimp_compositor_dependencies.h" |
+#include "blimp/client/core/compositor/blob_channel_feature.h" |
#include "blimp/client/core/contents/blimp_contents_impl.h" |
#include "blimp/client/core/contents/blimp_contents_manager.h" |
#include "blimp/client/core/contents/ime_feature.h" |
@@ -65,6 +66,7 @@ BlimpClientContextImpl::BlimpClientContextImpl( |
blimp_compositor_dependencies_( |
base::MakeUnique<BlimpCompositorDependencies>( |
std::move(compositor_dependencies))), |
+ blob_channel_feature_(new BlobChannelFeature(this)), |
ime_feature_(new ImeFeature), |
navigation_feature_(new NavigationFeature), |
render_widget_feature_(new RenderWidgetFeature), |
@@ -174,6 +176,8 @@ void BlimpClientContextImpl::ConnectWithAssignment( |
void BlimpClientContextImpl::RegisterFeatures() { |
// Register features' message senders and receivers. |
+ thread_pipe_manager_->RegisterFeature(BlimpMessage::kBlobChannel, |
+ blob_channel_feature_.get()); |
ime_feature_->set_outgoing_message_processor( |
thread_pipe_manager_->RegisterFeature(BlimpMessage::kIme, |
ime_feature_.get())); |
@@ -208,5 +212,14 @@ void BlimpClientContextImpl::CreateIdentitySource() { |
base::Unretained(this))); |
} |
+void BlimpClientContextImpl::OnImageDecodeError() { |
+ // Currently we just drop the connection on image decoding error. |
+ io_thread_task_runner_->PostTask( |
+ FROM_HERE, |
+ base::Bind( |
+ &BrowserConnectionHandler::DropCurrentConnection, |
+ base::Unretained(net_components_->GetBrowserConnectionHandler()))); |
+} |
+ |
} // namespace client |
} // namespace blimp |