1 // Copyright (c) 2006-2008 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.
5 #include "chrome/browser/browser_url_handler.h"
7 #include "chrome/browser/browser_about_handler.h"
8 #include "chrome/browser/dom_ui/new_tab_ui.h"
10 std::vector
<BrowserURLHandler::URLHandler
> BrowserURLHandler::url_handlers_
;
13 void BrowserURLHandler::InitURLHandlers() {
14 if (!url_handlers_
.empty())
17 // Here is where we initialize the global list of handlers for special URLs.
19 url_handlers_
.push_back(&BrowserAboutHandler::MaybeHandle
);
21 url_handlers_
.push_back(&NewTabUIHandleURL
);
25 bool BrowserURLHandler::HandleBrowserURL(GURL
* url
, TabContentsType
* type
) {
26 if (url_handlers_
.empty())
28 for (size_t i
= 0; i
< url_handlers_
.size(); ++i
) {
29 if ((*url_handlers_
[i
])(url
, type
))