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 CHROME_COMMON_EXTENSIONS_EXTENSION_PROCESS_POLICY_H_ 6 #define CHROME_COMMON_EXTENSIONS_EXTENSION_PROCESS_POLICY_H_ 7 8 class ExtensionSet; 9 class GURL; 10 11 namespace extensions { 12 13 class Extension; 14 15 // Returns the extension for the given URL. Excludes extension objects for 16 // bookmark apps, which do not use the app process model. 17 const Extension* GetNonBookmarkAppExtension(const ExtensionSet& extensions, 18 const GURL& url); 19 20 // Check if navigating a toplevel page from |old_url| to |new_url| would cross 21 // an extension process boundary (e.g. navigating from a web URL into an 22 // extension URL). 23 // We temporarily consider a workaround where we will keep non-app URLs in 24 // an app process, but only if |should_consider_workaround| is true. See 25 // http://crbug.com/59285. 26 bool CrossesExtensionProcessBoundary( 27 const ExtensionSet& extensions, 28 const GURL& old_url, 29 const GURL& new_url, 30 bool should_consider_workaround); 31 32 } // namespace extensions 33 34 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_PROCESS_POLICY_H_ 35