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

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

Issue 2624903006: Remove all blimp client code. (Closed)
Patch Set: Update buildbot configuration Created 3 years, 11 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/context/blimp_client_context_impl.cc
diff --git a/blimp/client/core/context/blimp_client_context_impl.cc b/blimp/client/core/context/blimp_client_context_impl.cc
deleted file mode 100644
index d9696df11d7a8be4608fd20001050aa2e1cae24a..0000000000000000000000000000000000000000
--- a/blimp/client/core/context/blimp_client_context_impl.cc
+++ /dev/null
@@ -1,297 +0,0 @@
-// Copyright 2016 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 "blimp/client/core/context/blimp_client_context_impl.h"
-
-#include <utility>
-
-#include "base/bind.h"
-#include "base/command_line.h"
-#include "base/memory/ptr_util.h"
-#include "base/message_loop/message_loop.h"
-#include "base/metrics/histogram_macros.h"
-#include "base/threading/sequenced_task_runner_handle.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"
-#include "blimp/client/core/contents/navigation_feature.h"
-#include "blimp/client/core/contents/tab_control_feature.h"
-#include "blimp/client/core/feedback/blimp_feedback_data.h"
-#include "blimp/client/core/geolocation/geolocation_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.h"
-#include "blimp/client/core/settings/settings_feature.h"
-#include "blimp/client/core/switches/blimp_client_switches.h"
-#include "blimp/client/public/blimp_client_context_delegate.h"
-#include "blimp/client/public/compositor/compositor_dependencies.h"
-#include "blimp/net/thread_pipe_manager.h"
-#include "components/prefs/pref_service.h"
-#include "device/geolocation/geolocation_delegate.h"
-#include "device/geolocation/location_arbitrator.h"
-#include "ui/gfx/native_widget_types.h"
-
-#if defined(OS_ANDROID)
-#include "blimp/client/core/context/android/blimp_client_context_impl_android.h"
-#include "blimp/client/core/settings/android/settings_android.h"
-#endif // OS_ANDROID
-
-namespace blimp {
-namespace client {
-
-namespace {
-
-const char kDefaultAssignerUrl[] =
- "https://blimp-pa.googleapis.com/v1/assignment";
-
-void DropConnectionOnIOThread(ClientNetworkComponents* net_components) {
- net_components->GetBrowserConnectionHandler()->DropCurrentConnection();
-}
-
-} // namespace
-
-// This function is declared in //blimp/client/public/blimp_client_context.h,
-// and either this function or the one in
-// //blimp/client/core/dummy_blimp_client_context.cc should be linked in to
-// any binary using BlimpClientContext::Create.
-// static
-BlimpClientContext* BlimpClientContext::Create(
- scoped_refptr<base::SingleThreadTaskRunner> io_thread_task_runner,
- scoped_refptr<base::SingleThreadTaskRunner> file_thread_task_runner,
- std::unique_ptr<CompositorDependencies> compositor_dependencies,
- PrefService* local_state) {
-#if defined(OS_ANDROID)
- auto settings = base::MakeUnique<SettingsAndroid>(local_state);
- return new BlimpClientContextImplAndroid(
- io_thread_task_runner, file_thread_task_runner,
- std::move(compositor_dependencies), std::move(settings));
-#else
- auto settings = base::MakeUnique<Settings>(local_state);
- return new BlimpClientContextImpl(
- io_thread_task_runner, file_thread_task_runner,
- std::move(compositor_dependencies), std::move(settings), nullptr);
-#endif // defined(OS_ANDROID)
-}
-
-// This function is declared in //blimp/client/public/blimp_client_context.h
-// and either this function or the one in
-// //blimp/client/core/dummy_blimp_client_context.cc should be linked in to
-// any binary using BlimpClientContext::RegisterPrefs.
-// static
-void BlimpClientContext::RegisterPrefs(PrefRegistrySimple* registry) {
- Settings::RegisterPrefs(registry);
-}
-
-// This function is declared in //blimp/client/public/blimp_client_context.h
-// and either this function or the one in
-// //blimp/client/core/dummy_blimp_client_context.cc should be linked in to
-// any binary using BlimpClientContext::ApplyBlimpSwitches.
-// static
-void BlimpClientContext::ApplyBlimpSwitches(CommandLinePrefStore* store) {
- Settings::ApplyBlimpSwitches(store);
-}
-
-BlimpClientContextImpl::BlimpClientContextImpl(
- scoped_refptr<base::SingleThreadTaskRunner> io_thread_task_runner,
- scoped_refptr<base::SingleThreadTaskRunner> file_thread_task_runner,
- std::unique_ptr<CompositorDependencies> compositor_dependencies,
- std::unique_ptr<Settings> settings,
- std::unique_ptr<PipeManager> pipe_manager)
- : BlimpClientContext(),
- io_thread_task_runner_(io_thread_task_runner),
- file_thread_task_runner_(file_thread_task_runner),
- blimp_compositor_dependencies_(
- base::MakeUnique<BlimpCompositorDependencies>(
- std::move(compositor_dependencies))),
- settings_(std::move(settings)),
- blob_channel_feature_(new BlobChannelFeature(this)),
- geolocation_feature_(base::MakeUnique<GeolocationFeature>(
- base::MakeUnique<device::LocationArbitrator>(
- base::MakeUnique<device::GeolocationDelegate>()))),
- ime_feature_(new ImeFeature),
- navigation_feature_(new NavigationFeature),
- render_widget_feature_(new RenderWidgetFeature),
- settings_feature_(base::MakeUnique<SettingsFeature>(settings_.get())),
- tab_control_feature_(new TabControlFeature),
- blimp_contents_manager_(
- new BlimpContentsManager(blimp_compositor_dependencies_.get(),
- ime_feature_.get(),
- navigation_feature_.get(),
- render_widget_feature_.get(),
- tab_control_feature_.get())),
- pipe_manager_(std::move(pipe_manager)),
- weak_factory_(this) {
- net_components_.reset(new ClientNetworkComponents(
- base::MakeUnique<CrossThreadNetworkEventObserver>(
- connection_status_.GetWeakPtr(),
- base::SequencedTaskRunnerHandle::Get())));
-
- // The |pipe_manager_| must be set up correctly before features are
- // registered.
- if (!pipe_manager_) {
- pipe_manager_ = base::MakeUnique<ThreadPipeManager>(
- io_thread_task_runner_, net_components_->GetBrowserConnectionHandler());
- }
-
- RegisterFeatures();
- settings_feature_->PushSettings();
-
- connection_status_.AddObserver(this);
-
- // Initialize must only be posted after the features have been
- // registered.
- io_thread_task_runner_->PostTask(
- FROM_HERE, base::Bind(&ClientNetworkComponents::Initialize,
- base::Unretained(net_components_.get())));
-
- UMA_HISTOGRAM_BOOLEAN("Blimp.Supported", true);
-}
-
-BlimpClientContextImpl::~BlimpClientContextImpl() {
- io_thread_task_runner_->DeleteSoon(FROM_HERE, net_components_.release());
- connection_status_.RemoveObserver(this);
-}
-
-void BlimpClientContextImpl::SetDelegate(BlimpClientContextDelegate* delegate) {
- DCHECK(!delegate_ || !delegate);
- delegate_ = delegate;
-
- // TODO(xingliu): Pass the IdentityProvider needed by |assignment_fetcher_|
- // in the constructor, see crbug/661848.
- if (delegate_) {
- assignment_fetcher_ = base::MakeUnique<AssignmentFetcher>(
- io_thread_task_runner_, file_thread_task_runner_,
- delegate_->CreateIdentityProvider(), GetAssignerURL(),
- base::Bind(&BlimpClientContextImpl::OnAssignmentReceived,
- weak_factory_.GetWeakPtr()),
- base::Bind(&BlimpClientContextDelegate::OnAuthenticationError,
- base::Unretained(delegate_)));
- }
-}
-
-std::unique_ptr<BlimpContents> BlimpClientContextImpl::CreateBlimpContents(
- gfx::NativeWindow window) {
- std::unique_ptr<BlimpContents> blimp_contents =
- blimp_contents_manager_->CreateBlimpContents(window);
- if (blimp_contents)
- delegate_->AttachBlimpContentsHelpers(blimp_contents.get());
- return blimp_contents;
-}
-
-void BlimpClientContextImpl::Connect() {
- DCHECK(delegate_);
- DCHECK(assignment_fetcher_);
- assignment_fetcher_->Fetch();
-}
-
-void BlimpClientContextImpl::ConnectWithAssignment(
- const Assignment& assignment) {
- io_thread_task_runner_->PostTask(
- FROM_HERE,
- base::Bind(&ClientNetworkComponents::ConnectWithAssignment,
- base::Unretained(net_components_.get()), assignment));
-}
-
-std::unordered_map<std::string, std::string>
-BlimpClientContextImpl::CreateFeedbackData() {
- IdentitySource* identity_source = GetIdentitySource();
- DCHECK(identity_source);
- return CreateBlimpFeedbackData(blimp_contents_manager_.get(),
- identity_source->GetActiveUsername());
-}
-
-IdentitySource* BlimpClientContextImpl::GetIdentitySource() {
- DCHECK(delegate_);
- DCHECK(assignment_fetcher_);
- return assignment_fetcher_->GetIdentitySource();
-}
-
-ConnectionStatus* BlimpClientContextImpl::GetConnectionStatus() {
- return &connection_status_;
-}
-
-GURL BlimpClientContextImpl::GetAssignerURL() {
- return GURL(kDefaultAssignerUrl);
-}
-
-void BlimpClientContextImpl::OnAssignmentReceived(
- AssignmentRequestResult result,
- const Assignment& assignment) {
- VLOG(1) << "Assignment result: " << result;
-
- // Cache engine info.
- connection_status_.OnAssignmentResult(result, assignment);
-
- // Inform the embedder of the assignment result.
- if (delegate_) {
- delegate_->OnAssignmentConnectionAttempted(result, assignment);
- }
-
- if (result != ASSIGNMENT_REQUEST_RESULT_OK) {
- LOG(ERROR) << "Assignment failed, reason: " << result;
- return;
- }
-
- ConnectWithAssignment(assignment);
-}
-
-void BlimpClientContextImpl::RegisterFeatures() {
- // Register features' message senders and receivers.
- pipe_manager_->RegisterFeature(BlimpMessage::kBlobChannel,
- blob_channel_feature_.get());
- geolocation_feature_->set_outgoing_message_processor(
- pipe_manager_->RegisterFeature(BlimpMessage::kGeolocation,
- geolocation_feature_.get()));
- ime_feature_->set_outgoing_message_processor(
- pipe_manager_->RegisterFeature(BlimpMessage::kIme,
- ime_feature_.get()));
- navigation_feature_->set_outgoing_message_processor(
- pipe_manager_->RegisterFeature(BlimpMessage::kNavigation,
- navigation_feature_.get()));
- render_widget_feature_->set_outgoing_input_message_processor(
- pipe_manager_->RegisterFeature(BlimpMessage::kInput,
- render_widget_feature_.get()));
- render_widget_feature_->set_outgoing_compositor_message_processor(
- pipe_manager_->RegisterFeature(BlimpMessage::kCompositor,
- render_widget_feature_.get()));
- pipe_manager_->RegisterFeature(BlimpMessage::kRenderWidget,
- render_widget_feature_.get());
- settings_feature_->set_outgoing_message_processor(
- pipe_manager_->RegisterFeature(BlimpMessage::kSettings,
- settings_feature_.get()));
- tab_control_feature_->set_outgoing_message_processor(
- pipe_manager_->RegisterFeature(BlimpMessage::kTabControl,
- tab_control_feature_.get()));
-}
-
-void BlimpClientContextImpl::DropConnection() {
- io_thread_task_runner_->PostTask(
- FROM_HERE, base::Bind(&DropConnectionOnIOThread, net_components_.get()));
-}
-
-void BlimpClientContextImpl::OnImageDecodeError() {
- // Currently we just drop the connection on image decoding error.
- DropConnection();
-}
-
-void BlimpClientContextImpl::OnConnected() {
- if (delegate_) {
- delegate_->OnConnected();
- }
-}
-
-void BlimpClientContextImpl::OnDisconnected(int result) {
- if (delegate_) {
- if (result >= 0) {
- delegate_->OnEngineDisconnected(result);
- } else {
- delegate_->OnNetworkDisconnected(result);
- }
- }
-}
-
-} // namespace client
-} // namespace blimp
« no previous file with comments | « blimp/client/core/context/blimp_client_context_impl.h ('k') | blimp/client/core/context/blimp_client_context_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698