Re-land: C++ readability review
[chromium-blink-merge.git] / mojo / services / surfaces / display_factory_impl.cc
blob11e9bf2f825383f922301769427e76b5a6ccd158
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "mojo/services/surfaces/display_factory_impl.h"
7 #include "cc/surfaces/surface_id.h"
9 namespace surfaces {
11 DisplayFactoryImpl::DisplayFactoryImpl(
12 cc::SurfaceManager* manager,
13 uint32_t id_namespace,
14 SurfacesScheduler* scheduler,
15 mojo::InterfaceRequest<mojo::DisplayFactory> request)
16 : id_namespace_(id_namespace),
17 next_local_id_(1u),
18 scheduler_(scheduler),
19 manager_(manager),
20 binding_(this, request.Pass()) {
23 DisplayFactoryImpl::~DisplayFactoryImpl() {
26 void DisplayFactoryImpl::Create(
27 mojo::ContextProviderPtr context_provider,
28 mojo::ResourceReturnerPtr returner,
29 mojo::InterfaceRequest<mojo::Display> display_request) {
30 cc::SurfaceId cc_id(static_cast<uint64_t>(id_namespace_) << 32 |
31 next_local_id_++);
32 new DisplayImpl(manager_, cc_id, scheduler_, context_provider.Pass(),
33 returner.Pass(), display_request.Pass());
36 } // namespace surfaces