| Index: shell/app_child_process_host.h
|
| diff --git a/shell/app_child_process_host.h b/shell/app_child_process_host.h
|
| index b7e237f4b98e6961c40739540055f5abb95814b3..a7dba66c0e6c648f1b2c526dae7ccf3a68927b1d 100644
|
| --- a/shell/app_child_process_host.h
|
| +++ b/shell/app_child_process_host.h
|
| @@ -9,6 +9,7 @@
|
|
|
| #include "base/macros.h"
|
| #include "mojo/edk/embedder/channel_info_forward.h"
|
| +#include "mojo/public/cpp/bindings/error_handler.h"
|
| #include "shell/app_child_process.mojom.h"
|
| #include "shell/child_process_host.h"
|
|
|
| @@ -20,22 +21,29 @@ namespace shell {
|
| //
|
| // Note: After |Start()|, |StartApp| must be called and this object must
|
| // remained alive until the |on_app_complete| callback is called.
|
| -class AppChildProcessHost : public ChildProcessHost {
|
| +class AppChildProcessHost : public ChildProcessHost, public ErrorHandler {
|
| public:
|
| explicit AppChildProcessHost(Context* context);
|
| ~AppChildProcessHost() override;
|
|
|
| - // See |AppChildController|:
|
| + // See |AppChildController::StartApp()| (this may only be called after
|
| + // |Start()|). Note, however, one difference: |on_app_complete| will *always*
|
| + // get called, even on connection error (or even if the child process failed
|
| + // to start at all).
|
| void StartApp(const String& app_path,
|
| bool clean_app_path,
|
| InterfaceRequest<Application> application_request,
|
| const AppChildController::StartAppCallback& on_app_complete);
|
| + // See |AppChildController::ExitNow()|.
|
| void ExitNow(int32_t exit_code);
|
|
|
| // |ChildProcessHost| methods:
|
| void WillStart() override;
|
| void DidStart(bool success) override;
|
|
|
| + // |ErrorHandler| methods:
|
| + void OnConnectionError() override;
|
| +
|
| private:
|
| // Callback for |embedder::CreateChannel()|.
|
| void DidCreateChannel(embedder::ChannelInfo* channel_info);
|
|
|