Introduce StorageOption during datatype configuration

This allows controllers to start datatypes in ephemeral mode,
which is only supported by ModelTypeController.

Bug: 866814
Change-Id: I20630c2ed52872baf0ecd23cccbd08f505e8835b
Reviewed-on: https://chromium-review.googlesource.com/1151299
Commit-Queue: Mikel Astiz <[email protected]>
Reviewed-by: Marc Treib <[email protected]>
Cr-Commit-Position: refs/heads/master@{#580205}
diff --git a/components/sync/driver/configure_context.h b/components/sync/driver/configure_context.h
index 16e403a..46e6bfb 100644
--- a/components/sync/driver/configure_context.h
+++ b/components/sync/driver/configure_context.h
@@ -18,8 +18,14 @@
 // controllers, which for USS datatypes propagate analogous information to the
 // processor/bridge via DataTypeActivationRequest.
 struct ConfigureContext {
+  enum StorageOption {
+    STORAGE_ON_DISK,
+    STORAGE_IN_MEMORY,
+  };
+
   std::string authenticated_account_id;
   std::string cache_guid;
+  StorageOption storage_option = STORAGE_ON_DISK;
   ConfigureReason reason = CONFIGURE_REASON_UNKNOWN;
   // TODO(mastiz): Consider adding |requested_types| here, but currently there
   // are subtle differences across layers (e.g. where control types are