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

Unified Diff: components/arc/arc_session.cc

Issue 2552213002: Remove explicit singletonness of ArcBridgeService part 1. (Closed)
Patch Set: Created 4 years 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 | « components/arc/arc_session.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/arc/arc_session.cc
diff --git a/components/arc/arc_session.cc b/components/arc/arc_session.cc
index 6c85b992ed500dc21a955b50162eb827f53776e6..448a7b69bfcd39fb8f287b24fd81a98e459a99bc 100644
--- a/components/arc/arc_session.cc
+++ b/components/arc/arc_session.cc
@@ -199,7 +199,8 @@ class ArcSessionImpl : public ArcSession,
STOPPED,
};
- explicit ArcSessionImpl(
+ ArcSessionImpl(
+ ArcBridgeService* arc_bridge_service,
const scoped_refptr<base::TaskRunner>& blocking_task_runner);
~ArcSessionImpl() override;
@@ -238,6 +239,8 @@ class ArcSessionImpl : public ArcSession,
// created.
base::ThreadChecker thread_checker_;
+ ArcBridgeService* const arc_bridge_service_;
Luis Héctor Chávez 2016/12/06 18:48:32 Please mention who owns this pointer.
hidehiko 2016/12/06 18:54:36 Done.
+
// Task runner to run a blocking tasks.
scoped_refptr<base::TaskRunner> blocking_task_runner_;
@@ -262,8 +265,10 @@ class ArcSessionImpl : public ArcSession,
};
ArcSessionImpl::ArcSessionImpl(
+ ArcBridgeService* arc_bridge_service,
const scoped_refptr<base::TaskRunner>& blocking_task_runner)
- : blocking_task_runner_(blocking_task_runner), weak_factory_(this) {
+ : arc_bridge_service_(arc_bridge_service),
+ blocking_task_runner_(blocking_task_runner), weak_factory_(this) {
chromeos::SessionManagerClient* client = GetSessionManagerClient();
if (client == nullptr)
return;
@@ -487,7 +492,8 @@ void ArcSessionImpl::OnMojoConnected(mojo::edk::ScopedPlatformHandle fd) {
mojom::ArcBridgeInstancePtr instance;
instance.Bind(mojo::InterfacePtrInfo<mojom::ArcBridgeInstance>(
std::move(server_pipe), 0u));
- arc_bridge_host_.reset(new ArcBridgeHostImpl(std::move(instance)));
+ arc_bridge_host_ = base::MakeUnique<ArcBridgeHostImpl>(
+ arc_bridge_service_, std::move(instance));
VLOG(2) << "Mojo is connected. ARC is running.";
state_ = State::RUNNING;
@@ -633,8 +639,10 @@ void ArcSession::RemoveObserver(Observer* observer) {
// static
std::unique_ptr<ArcSession> ArcSession::Create(
+ ArcBridgeService* arc_bridge_service,
const scoped_refptr<base::TaskRunner>& blocking_task_runner) {
- return base::MakeUnique<ArcSessionImpl>(blocking_task_runner);
+ return base::MakeUnique<ArcSessionImpl>(
+ arc_bridge_service, blocking_task_runner);
}
} // namespace arc
« no previous file with comments | « components/arc/arc_session.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698