15f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)// found in the LICENSE file. 4a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 55f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#ifndef EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_CONTEXT_H_ 65f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#define EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_CONTEXT_H_ 7a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 8a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#include "base/compiler_specific.h" 9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "base/memory/ref_counted.h" 10a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#include "content/shell/browser/shell_browser_context.h" 111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "storage/browser/quota/special_storage_policy.h" 12a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)namespace extensions { 14a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 15116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass ShellSpecialStoragePolicy; 16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 17a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)// The BrowserContext used by the content, apps and extensions systems in 18a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)// app_shell. 195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)class ShellBrowserContext : public content::ShellBrowserContext { 20a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) public: 215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ShellBrowserContext(); 225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) virtual ~ShellBrowserContext(); 23a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch // content::BrowserContext implementation. 251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual content::BrowserPluginGuestManager* GetGuestManager() OVERRIDE; 2603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) virtual storage::SpecialStoragePolicy* GetSpecialStoragePolicy() OVERRIDE; 27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 28a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) // HACK: Pad the virtual function table so we trip an assertion if someone 29a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) // tries to use |this| as a Profile. 30a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) virtual void ProfileFunctionCallOnNonProfileBrowserContext1(); 31a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) virtual void ProfileFunctionCallOnNonProfileBrowserContext2(); 32a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) virtual void ProfileFunctionCallOnNonProfileBrowserContext3(); 33a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) virtual void ProfileFunctionCallOnNonProfileBrowserContext4(); 34a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) virtual void ProfileFunctionCallOnNonProfileBrowserContext5(); 35a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) virtual void ProfileFunctionCallOnNonProfileBrowserContext6(); 36a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) virtual void ProfileFunctionCallOnNonProfileBrowserContext7(); 37a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) virtual void ProfileFunctionCallOnNonProfileBrowserContext8(); 38a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) virtual void ProfileFunctionCallOnNonProfileBrowserContext9(); 395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) virtual void ProfileFunctionCallOnNonProfileBrowserContext10(); 405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) virtual void ProfileFunctionCallOnNonProfileBrowserContext11(); 415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) virtual void ProfileFunctionCallOnNonProfileBrowserContext12(); 425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) virtual void ProfileFunctionCallOnNonProfileBrowserContext13(); 435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) virtual void ProfileFunctionCallOnNonProfileBrowserContext14(); 445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) virtual void ProfileFunctionCallOnNonProfileBrowserContext15(); 45a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 46a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) private: 4703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) scoped_refptr<storage::SpecialStoragePolicy> storage_policy_; 48116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(ShellBrowserContext); 50a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)}; 51a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 525f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} // namespace extensions 53a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) 545f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#endif // EXTENSIONS_SHELL_BROWSER_SHELL_BROWSER_CONTEXT_H_ 55