Redo the Storage Partition directory layout to support guest tags and origin based partitions.

The new layout is
    (1) ProfileDir/Default/Storage Partitions/extensions/{ extension_id }/default/
    (2) ProfileDir/Default/Storage Partitions/extensions/{ extension_id }/{ hash(BrowserTag.partition) }/

In the future, after we add support for browser tags in webui or add support for server
administrators of websites to opt into storage isolation, we will also need:

    (3) ProfileDir/Default/Storage Partitions/origins/{ hash(origin) }/default/
    (4) ProfileDir/Default/Storage Partitions/origins/{ hash(origin) }/{ hash(BrowserTag.partition) }/

TBR=willchan
BUG=85121


Review URL: https://chromiumcodereview.appspot.com/10913265

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157039 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/content/browser/storage_partition_impl.h b/content/browser/storage_partition_impl.h
index 9ab7fc3..e7f2f5d 100644
--- a/content/browser/storage_partition_impl.h
+++ b/content/browser/storage_partition_impl.h
@@ -22,9 +22,11 @@
   // TODO(ajwong): Break the direct dependency on |context|. We only
   // need 3 pieces of info from it.
   static StoragePartitionImpl* Create(BrowserContext* context,
+                                      const std::string& partition_id,
                                       const FilePath& partition_path);
 
   // StoragePartition interface.
+  virtual FilePath GetPath() OVERRIDE;
   virtual quota::QuotaManager* GetQuotaManager() OVERRIDE;
   virtual ChromeAppCacheService* GetAppCacheService() OVERRIDE;
   virtual fileapi::FileSystemContext* GetFileSystemContext() OVERRIDE;