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

Unified Diff: blimp/client/core/blimp_client_context_impl.cc

Issue 2292723003: Move remaining Blimp feature code to core. (Closed)
Patch Set: Fixed gn check failure Created 4 years, 4 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
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 51b314f2a4c21a843f1dca1610d8914870951179..21719712c6d2b26f41bcdb2f84a07b5ff81a8017 100644
--- a/blimp/client/core/blimp_client_context_impl.cc
+++ b/blimp/client/core/blimp_client_context_impl.cc
@@ -8,13 +8,18 @@
#include "base/memory/ptr_util.h"
#include "base/message_loop/message_loop.h"
#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/contents/blimp_contents_impl.h"
#include "blimp/client/core/contents/blimp_contents_manager.h"
#include "blimp/client/core/contents/ime_feature.h"
#include "blimp/client/core/contents/navigation_feature.h"
#include "blimp/client/core/contents/tab_control_feature.h"
+#include "blimp/client/core/render_widget/render_widget_feature.h"
#include "blimp/client/core/session/cross_thread_network_event_observer.h"
+#include "blimp/client/core/settings/settings_feature.h"
#include "blimp/client/public/blimp_client_context_delegate.h"
+#include "blimp/client/public/compositor/compositor_dependencies.h"
#if defined(OS_ANDROID)
#include "blimp/client/core/android/blimp_client_context_impl_android.h"
@@ -35,28 +40,38 @@ const char kDefaultAssignerUrl[] =
// static
BlimpClientContext* BlimpClientContext::Create(
scoped_refptr<base::SingleThreadTaskRunner> io_thread_task_runner,
- scoped_refptr<base::SingleThreadTaskRunner> file_thread_task_runner) {
+ scoped_refptr<base::SingleThreadTaskRunner> file_thread_task_runner,
+ std::unique_ptr<CompositorDependencies> compositor_dependencies) {
#if defined(OS_ANDROID)
return new BlimpClientContextImplAndroid(io_thread_task_runner,
- file_thread_task_runner);
+ file_thread_task_runner,
+ std::move(compositor_dependencies));
#else
return new BlimpClientContextImpl(io_thread_task_runner,
- file_thread_task_runner);
+ file_thread_task_runner,
+ std::move(compositor_dependencies));
#endif // defined(OS_ANDROID)
}
BlimpClientContextImpl::BlimpClientContextImpl(
scoped_refptr<base::SingleThreadTaskRunner> io_thread_task_runner,
- scoped_refptr<base::SingleThreadTaskRunner> file_thread_task_runner)
+ scoped_refptr<base::SingleThreadTaskRunner> file_thread_task_runner,
+ std::unique_ptr<CompositorDependencies> compositor_dependencies)
: BlimpClientContext(),
io_thread_task_runner_(io_thread_task_runner),
file_thread_task_runner_(file_thread_task_runner),
+ blimp_compositor_dependencies_(
Khushal 2016/08/31 04:30:47 nit: prefer MakeUnique.
David Trainor- moved to gerrit 2016/08/31 05:21:26 Done.
+ new BlimpCompositorDependencies(std::move(compositor_dependencies))),
ime_feature_(new ImeFeature),
navigation_feature_(new NavigationFeature),
+ render_widget_feature_(new RenderWidgetFeature),
+ settings_feature_(new SettingsFeature),
tab_control_feature_(new TabControlFeature),
blimp_contents_manager_(
- new BlimpContentsManager(ime_feature_.get(),
+ new BlimpContentsManager(blimp_compositor_dependencies_.get(),
+ ime_feature_.get(),
navigation_feature_.get(),
+ render_widget_feature_.get(),
tab_control_feature_.get())),
weak_factory_(this) {
net_components_.reset(new ClientNetworkComponents(
@@ -69,6 +84,7 @@ BlimpClientContextImpl::BlimpClientContextImpl(
io_thread_task_runner_, net_components_->GetBrowserConnectionHandler());
RegisterFeatures();
+ InitializeSettings();
// Initialize must only be posted after the calls features have been
// registered.
@@ -159,11 +175,28 @@ void BlimpClientContextImpl::RegisterFeatures() {
navigation_feature_->set_outgoing_message_processor(
thread_pipe_manager_->RegisterFeature(BlimpMessage::kNavigation,
navigation_feature_.get()));
+ render_widget_feature_->set_outgoing_input_message_processor(
+ thread_pipe_manager_->RegisterFeature(BlimpMessage::kInput,
+ render_widget_feature_.get()));
+ render_widget_feature_->set_outgoing_compositor_message_processor(
+ thread_pipe_manager_->RegisterFeature(BlimpMessage::kCompositor,
+ render_widget_feature_.get()));
+ thread_pipe_manager_->RegisterFeature(BlimpMessage::kRenderWidget,
+ render_widget_feature_.get());
+ settings_feature_->set_outgoing_message_processor(
+ thread_pipe_manager_->RegisterFeature(BlimpMessage::kSettings,
+ settings_feature_.get()));
tab_control_feature_->set_outgoing_message_processor(
thread_pipe_manager_->RegisterFeature(BlimpMessage::kTabControl,
tab_control_feature_.get()));
}
+void BlimpClientContextImpl::InitializeSettings() {
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kDownloadWholeDocument))
+ settings_feature_->SetRecordWholeDocument(true);
+}
+
void BlimpClientContextImpl::CreateIdentitySource() {
identity_source_ = base::MakeUnique<IdentitySource>(
delegate_, base::Bind(&BlimpClientContextImpl::ConnectToAssignmentSource,

Powered by Google App Engine
This is Rietveld 408576698