Move IndexedDBContext into the StoragePartition and ensure isolation.

This pickups up from http://codereview.chromium.org/10836216.  After this, IndexedDB should be properly isolated in ChromeApps and Isolated Sites.

TBR=kalman,sky,mkwst 
BUG=85121

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157045 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/content/browser/browser_context.cc b/content/browser/browser_context.cc
index 8e4c9b75..3b33c31 100644
--- a/content/browser/browser_context.cc
+++ b/content/browser/browser_context.cc
@@ -103,13 +103,6 @@
       context, kDownloadManagerKeyName);
 }
 
-IndexedDBContext* BrowserContext::GetIndexedDBContext(
-    BrowserContext* browser_context) {
-  // TODO(ajwong): Change this API to require a SiteInstance instead of
-  // using GetDefaultStoragePartition().
-  return GetDefaultStoragePartition(browser_context)->GetIndexedDBContext();
-}
-
 fileapi::FileSystemContext* BrowserContext::GetFileSystemContext(
     BrowserContext* browser_context) {
   // TODO(ajwong): Change this API to require a SiteInstance instead of
@@ -173,6 +166,8 @@
 void BrowserContext::SaveSessionState(BrowserContext* browser_context) {
   GetDefaultStoragePartition(browser_context)->GetDatabaseTracker()->
       SetForceKeepSessionState();
+  StoragePartition* storage_partition =
+      BrowserContext::GetDefaultStoragePartition(browser_context);
 
   if (BrowserThread::IsMessageLoopValid(BrowserThread::IO)) {
     BrowserThread::PostTask(
@@ -180,18 +175,17 @@
         base::Bind(
             &SaveSessionStateOnIOThread,
             make_scoped_refptr(browser_context->GetRequestContext()),
-            BrowserContext::GetDefaultStoragePartition(browser_context)->
-                GetAppCacheService()));
+            storage_partition->GetAppCacheService()));
   }
 
   DOMStorageContextImpl* dom_storage_context_impl =
       static_cast<DOMStorageContextImpl*>(
-          GetDefaultStoragePartition(browser_context)->GetDOMStorageContext());
+          storage_partition->GetDOMStorageContext());
   dom_storage_context_impl->SetForceKeepSessionState();
 
   if (BrowserThread::IsMessageLoopValid(BrowserThread::WEBKIT_DEPRECATED)) {
     IndexedDBContextImpl* indexed_db = static_cast<IndexedDBContextImpl*>(
-        GetIndexedDBContext(browser_context));
+        storage_partition->GetIndexedDBContext());
     BrowserThread::PostTask(
         BrowserThread::WEBKIT_DEPRECATED, FROM_HERE,
         base::Bind(&SaveSessionStateOnWebkitThread,