Home | History | Annotate | Download | only in extensions
      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