Index: shell/dynamic_service_runner.h |
diff --git a/shell/dynamic_service_runner.h b/shell/dynamic_service_runner.h |
index 7408789ca3253a6e175a833e0552481d03d28ea5..15781f812078d6b377dc39490416143015db4174 100644 |
--- a/shell/dynamic_service_runner.h |
+++ b/shell/dynamic_service_runner.h |
@@ -25,10 +25,15 @@ class DynamicServiceRunner { |
public: |
virtual ~DynamicServiceRunner() {} |
- // Takes ownership of the file at |app_path|. Loads the app in that file and |
- // runs it on some other thread/process. |app_completed_callback| is posted |
- // (to the thread on which |Start()| was called) after |MojoMain()| completes. |
+ // Parameter for |Start| to specify its cleanup behavior. |
+ enum CleanupBehavior { DeleteAppPath, DontDeleteAppPath }; |
+ |
+ // Loads the app in the file at |app_path| and runs it on some other |
+ // thread/process. If |cleanup_behavior| is |true|, takes ownership of the |
+ // file. |app_completed_callback| is posted (to the thread on which |Start()| |
+ // was called) after |MojoMain()| completes. |
virtual void Start(const base::FilePath& app_path, |
+ DynamicServiceRunner::CleanupBehavior cleanup_behavior, |
ScopedMessagePipeHandle service_handle, |
const base::Closure& app_completed_callback) = 0; |
@@ -39,6 +44,7 @@ class DynamicServiceRunner { |
// thread is destroyed and any thread-local destructors have been executed. |
static base::NativeLibrary LoadAndRunService( |
const base::FilePath& app_path, |
+ DynamicServiceRunner::CleanupBehavior cleanup_behavior, |
ScopedMessagePipeHandle service_handle); |
}; |