Home | History | Annotate | Download | only in test
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CONTENT_PUBLIC_TEST_TEST_BROWSER_CONTEXT_H_
      6 #define CONTENT_PUBLIC_TEST_TEST_BROWSER_CONTEXT_H_
      7 
      8 #include "base/compiler_specific.h"
      9 #include "base/files/file_path.h"
     10 #include "base/files/scoped_temp_dir.h"
     11 #include "base/gtest_prod_util.h"
     12 #include "base/memory/ref_counted.h"
     13 #include "base/memory/scoped_ptr.h"
     14 #include "content/public/browser/browser_context.h"
     15 
     16 namespace content {
     17 class MockResourceContext;
     18 
     19 class TestBrowserContext : public BrowserContext {
     20  public:
     21   TestBrowserContext();
     22   virtual ~TestBrowserContext();
     23 
     24   // Takes ownership of the temporary directory so that it's not deleted when
     25   // this object is destructed.
     26   base::FilePath TakePath();
     27 
     28   void SetSpecialStoragePolicy(quota::SpecialStoragePolicy* policy);
     29 
     30   virtual base::FilePath GetPath() const OVERRIDE;
     31   virtual bool IsOffTheRecord() const OVERRIDE;
     32   virtual DownloadManagerDelegate* GetDownloadManagerDelegate() OVERRIDE;
     33   virtual net::URLRequestContextGetter* GetRequestContext() OVERRIDE;
     34   virtual net::URLRequestContextGetter* GetRequestContextForRenderProcess(
     35       int renderer_child_id) OVERRIDE;
     36   virtual net::URLRequestContextGetter* GetMediaRequestContext() OVERRIDE;
     37   virtual net::URLRequestContextGetter* GetMediaRequestContextForRenderProcess(
     38       int renderer_child_id) OVERRIDE;
     39   virtual net::URLRequestContextGetter*
     40       GetMediaRequestContextForStoragePartition(
     41           const base::FilePath& partition_path,
     42           bool in_memory) OVERRIDE;
     43   virtual ResourceContext* GetResourceContext() OVERRIDE;
     44   virtual BrowserPluginGuestManager* GetGuestManager() OVERRIDE;
     45   virtual quota::SpecialStoragePolicy* GetSpecialStoragePolicy() OVERRIDE;
     46   virtual PushMessagingService* GetPushMessagingService() OVERRIDE;
     47 
     48  private:
     49   FRIEND_TEST_ALL_PREFIXES(DOMStorageTest, SessionOnly);
     50   FRIEND_TEST_ALL_PREFIXES(DOMStorageTest, SaveSessionState);
     51 
     52   scoped_refptr<net::URLRequestContextGetter> request_context_;
     53   scoped_ptr<MockResourceContext> resource_context_;
     54   base::ScopedTempDir browser_context_dir_;
     55   scoped_refptr<quota::SpecialStoragePolicy> special_storage_policy_;
     56 
     57   DISALLOW_COPY_AND_ASSIGN(TestBrowserContext);
     58 };
     59 
     60 }  // namespace content
     61 
     62 #endif  // CONTENT_PUBLIC_TEST_TEST_BROWSER_CONTEXT_H_
     63