// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_COMMON_EXTENSIONS_EXTENSION_PROCESS_POLICY_H_ #define CHROME_COMMON_EXTENSIONS_EXTENSION_PROCESS_POLICY_H_ class ExtensionSet; class GURL; namespace extensions { class Extension; // Returns the extension for the given URL. Excludes extension objects for // bookmark apps, which do not use the app process model. const Extension* GetNonBookmarkAppExtension(const ExtensionSet& extensions, const GURL& url); // Check if navigating a toplevel page from |old_url| to |new_url| would cross // an extension process boundary (e.g. navigating from a web URL into an // extension URL). // We temporarily consider a workaround where we will keep non-app URLs in // an app process, but only if |should_consider_workaround| is true. See // http://crbug.com/59285. bool CrossesExtensionProcessBoundary( const ExtensionSet& extensions, const GURL& old_url, const GURL& new_url, bool should_consider_workaround); } // namespace extensions #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_PROCESS_POLICY_H_