shell_browser_context.h revision 5f1c94371a64b3196d4be9466099bb892df9b88e
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 13namespace extensions { 14 15class ShellSpecialStoragePolicy; 16 17// The BrowserContext used by the content, apps and extensions systems in 18// app_shell. 19class 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_ 54