OLD | NEW |
| (Empty) |
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. | |
4 | |
5 #ifndef MANDOLINE_TAB_FRAME_SERVICES_H_ | |
6 #define MANDOLINE_TAB_FRAME_SERVICES_H_ | |
7 | |
8 #include "base/basictypes.h" | |
9 #include "mandoline/tab/frame_user_data.h" | |
10 #include "mandoline/tab/public/interfaces/frame_tree.mojom.h" | |
11 #include "mojo/application/public/cpp/service_provider_impl.h" | |
12 | |
13 namespace mandoline { | |
14 | |
15 // FrameServices is a FrameUserData that manages the ServiceProviders exposed | |
16 // to each client. It is also responsible for obtaining the FrameTreeClient | |
17 // from the remote side. | |
18 class FrameServices : public FrameUserData { | |
19 public: | |
20 FrameServices(); | |
21 ~FrameServices() override; | |
22 | |
23 void Init(mojo::InterfaceRequest<mojo::ServiceProvider>* services, | |
24 mojo::ServiceProviderPtr* exposed_services); | |
25 | |
26 FrameTreeClient* frame_tree_client() { return frame_tree_client_.get(); } | |
27 | |
28 private: | |
29 mojo::ServiceProviderImpl exposed_services_; | |
30 mojo::ServiceProviderPtr services_; | |
31 FrameTreeClientPtr frame_tree_client_; | |
32 | |
33 DISALLOW_COPY_AND_ASSIGN(FrameServices); | |
34 }; | |
35 | |
36 } // namespace mandoline | |
37 | |
38 #endif // MANDOLINE_TAB_FRAME_SERVICES_H_ | |
OLD | NEW |