• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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