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 8class ExtensionSet; 9class GURL; 10 11namespace extensions { 12 13class 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. 17const 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. 26bool 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