Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / extensions / shell / browser / shell_browser_context.h
1 // Copyright 2014 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 EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_CONTEXT_H_
6 #define EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_CONTEXT_H_
7
8 #include "base/compiler_specific.h"
9 #include "base/memory/ref_counted.h"
10 #include "content/shell/browser/shell_browser_context.h"
11 #include "webkit/browser/quota/special_storage_policy.h"
12
13 namespace extensions {
14
15 class ShellSpecialStoragePolicy;
16
17 // The BrowserContext used by the content, apps and extensions systems in
18 // app_shell.
19 class ShellBrowserContext : public content::ShellBrowserContext {
20  public:
21   ShellBrowserContext();
22   virtual ~ShellBrowserContext();
23
24   // content::BrowserContext implementation.
25   virtual quota::SpecialStoragePolicy* GetSpecialStoragePolicy() OVERRIDE;
26
27   // HACK: Pad the virtual function table so we trip an assertion if someone
28   // tries to use |this| as a Profile.
29   virtual void ProfileFunctionCallOnNonProfileBrowserContext1();
30   virtual void ProfileFunctionCallOnNonProfileBrowserContext2();
31   virtual void ProfileFunctionCallOnNonProfileBrowserContext3();
32   virtual void ProfileFunctionCallOnNonProfileBrowserContext4();
33   virtual void ProfileFunctionCallOnNonProfileBrowserContext5();
34   virtual void ProfileFunctionCallOnNonProfileBrowserContext6();
35   virtual void ProfileFunctionCallOnNonProfileBrowserContext7();
36   virtual void ProfileFunctionCallOnNonProfileBrowserContext8();
37   virtual void ProfileFunctionCallOnNonProfileBrowserContext9();
38   virtual void ProfileFunctionCallOnNonProfileBrowserContext10();
39   virtual void ProfileFunctionCallOnNonProfileBrowserContext11();
40   virtual void ProfileFunctionCallOnNonProfileBrowserContext12();
41   virtual void ProfileFunctionCallOnNonProfileBrowserContext13();
42   virtual void ProfileFunctionCallOnNonProfileBrowserContext14();
43   virtual void ProfileFunctionCallOnNonProfileBrowserContext15();
44
45  private:
46   scoped_refptr<quota::SpecialStoragePolicy> storage_policy_;
47
48   DISALLOW_COPY_AND_ASSIGN(ShellBrowserContext);
49 };
50
51 }  // namespace extensions
52
53 #endif  // EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_CONTEXT_H_