| Index: chrome/browser/extensions/api/messaging/native_process_launcher.h
|
| diff --git a/chrome/browser/extensions/api/messaging/native_process_launcher.h b/chrome/browser/extensions/api/messaging/native_process_launcher.h
|
| index f8188d4c97ea5b5c9826a966a68904650bd1bc4f..f1b6483b9d15a813653691661bfcd0896341ab39 100644
|
| --- a/chrome/browser/extensions/api/messaging/native_process_launcher.h
|
| +++ b/chrome/browser/extensions/api/messaging/native_process_launcher.h
|
| @@ -8,12 +8,16 @@
|
| #include "base/process.h"
|
| #include "chrome/browser/extensions/api/messaging/native_message_process_host.h"
|
|
|
| +class GURL;
|
| +
|
| namespace base {
|
| class FilePath;
|
| }
|
|
|
| namespace extensions {
|
|
|
| +class NativeMessagingHostManifest;
|
| +
|
| class NativeProcessLauncher {
|
| public:
|
| // Callback that's called after the process has been launched. |result| is
|
| @@ -28,14 +32,26 @@ class NativeProcessLauncher {
|
| NativeProcessLauncher() {}
|
| virtual ~NativeProcessLauncher() {}
|
|
|
| - // Launches native host with the specified name asynchronously. |callback| is
|
| - // called after the process has been started. If the launcher is destroyed
|
| - // before the callback is called then the call is canceled and the process is
|
| - // stopped if it has been started already (by closing IO pipes).
|
| - virtual void Launch(const std::string& native_host_name,
|
| + // Finds native messaging host with the specified name and launches it
|
| + // asynchronously. Also checks that the specified |origin| is permitted to
|
| + // access the host. |callback| is called after the process has been started.
|
| + // If the launcher is destroyed before the callback is called then the call is
|
| + // canceled and the process is stopped if it has been started already (by
|
| + // closing IO pipes).
|
| + virtual void Launch(const GURL& origin,
|
| + const std::string& native_host_name,
|
| LaunchedCallback callback) const = 0;
|
|
|
| protected:
|
| + // The following two methods are platform specific and are implemented in
|
| + // platform-specific .cc files.
|
| +
|
| + // Loads manifest for the native messaging host |name|.
|
| + static scoped_ptr<NativeMessagingHostManifest> FindAndLoadManifest(
|
| + const std::string& native_host_name,
|
| + std::string* error_message);
|
| +
|
| + // Launches native messaging process.
|
| static bool LaunchNativeProcess(
|
| const base::FilePath& path,
|
| base::PlatformFile* read_file,
|
|
|