Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(627)

Unified Diff: blimp/engine/session/blimp_engine_session.cc

Issue 1985863002: Incorporate BlobChannel into Blimp image encode/decode pipeline. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@blobchannel-helium
Patch Set: fix gn dependency warning & rebase Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « blimp/engine/session/blimp_engine_session.h ('k') | blimp/net/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: blimp/engine/session/blimp_engine_session.cc
diff --git a/blimp/engine/session/blimp_engine_session.cc b/blimp/engine/session/blimp_engine_session.cc
index deaa190a001f0c84b74678668d13ad713612f8d1..bbd18e56fe60ffc4507d0e0d9e9dd35ea4c3ffc4 100644
--- a/blimp/engine/session/blimp_engine_session.cc
+++ b/blimp/engine/session/blimp_engine_session.cc
@@ -12,6 +12,7 @@
#include "base/strings/utf_string_conversions.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/trace_event/trace_event.h"
+#include "blimp/common/blob_cache/in_memory_blob_cache.h"
#include "blimp/common/create_blimp_message.h"
#include "blimp/common/proto/tab_control.pb.h"
#include "blimp/engine/app/blimp_engine_config.h"
@@ -28,6 +29,8 @@
#include "blimp/net/blimp_connection_statistics.h"
#include "blimp/net/blimp_message_multiplexer.h"
#include "blimp/net/blimp_message_thread_pipe.h"
+#include "blimp/net/blob_channel/blob_channel_sender_impl.h"
+#include "blimp/net/blob_channel/helium_blob_sender_delegate.h"
#include "blimp/net/browser_connection_handler.h"
#include "blimp/net/common.h"
#include "blimp/net/engine_authentication_handler.h"
@@ -223,10 +226,18 @@ BlimpEngineSession::BlimpEngineSession(
QuitCurrentMessageLoopClosure())) {
DCHECK(engine_config_);
DCHECK(settings_manager_);
- screen_->UpdateDisplayScaleAndSize(kDefaultScaleFactor,
- gfx::Size(kDefaultDisplayWidth,
- kDefaultDisplayHeight));
+
+ screen_->UpdateDisplayScaleAndSize(
+ kDefaultScaleFactor,
+ gfx::Size(kDefaultDisplayWidth, kDefaultDisplayHeight));
render_widget_feature_.SetDelegate(kDummyTabId, this);
+
+ std::unique_ptr<HeliumBlobSenderDelegate> helium_blob_delegate(
+ new HeliumBlobSenderDelegate);
+ blob_delegate_ = helium_blob_delegate.get();
+ blob_channel_sender_ = base::WrapUnique(
+ new BlobChannelSenderImpl(base::WrapUnique(new InMemoryBlobCache),
+ std::move(helium_blob_delegate)));
}
BlimpEngineSession::~BlimpEngineSession() {
@@ -313,6 +324,9 @@ void BlimpEngineSession::RegisterFeatures() {
render_widget_feature_.set_ime_message_sender(
thread_pipe_manager_->RegisterFeature(BlimpMessage::kIme,
&render_widget_feature_));
+ blob_delegate_->set_outgoing_message_processor(
+ thread_pipe_manager_->RegisterFeature(BlimpMessage::kBlobChannel,
+ blob_delegate_));
// The Settings feature does not need an outgoing message processor, since we
// don't send any messages to the client right now.
@@ -500,7 +514,7 @@ content::WebContents* BlimpEngineSession::OpenURLFromTab(
params.should_replace_current_entry;
load_url_params.is_renderer_initiated = params.is_renderer_initiated;
load_url_params.override_user_agent =
- content::NavigationController::UA_OVERRIDE_TRUE;
+ content::NavigationController::UA_OVERRIDE_TRUE;
source->GetController().LoadURLWithParams(load_url_params);
return source;
« no previous file with comments | « blimp/engine/session/blimp_engine_session.h ('k') | blimp/net/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698