15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2011 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef CHROME_BROWSER_BROWSER_ABOUT_HANDLER_H_
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CHROME_BROWSER_BROWSER_ABOUT_HANDLER_H_
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class GURL;
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace content {
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class BrowserContext;
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Returns true if the given URL will be handled by the browser about handler.
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Nowadays, these go through the webui, so the return is always false.
16f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Either way, |url| will be processed by url_fixer::FixupURL, which
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// replaces the about: scheme with chrome:// for all about:foo URLs except
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// "about:blank".
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Some |url| host values will be replaced with their respective redirects.
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This is used by BrowserURLHandler.
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool WillHandleBrowserAboutURL(GURL* url,
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                               content::BrowserContext* browser_context);
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// We have a few magic commands that don't cause navigations, but rather pop up
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// dialogs. This function handles those cases, and returns true if so. In this
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// case, normal tab navigation should be skipped.
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool HandleNonNavigationAboutURL(const GURL& url);
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // CHROME_BROWSER_BROWSER_ABOUT_HANDLER_H_
31