1effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// found in the LICENSE file.
4effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
5effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#ifndef CHROME_BROWSER_ANDROID_NEW_TAB_PAGE_URL_HANDLER_H_
6effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#define CHROME_BROWSER_ANDROID_NEW_TAB_PAGE_URL_HANDLER_H_
7effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
8effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochclass GURL;
9effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
10effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochnamespace content {
11effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochclass BrowserContext;
12effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}
13effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
14effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochnamespace chrome {
15effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochnamespace android {
16effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
17effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// Rewrites old-style Android NTP URLs to new-style NTP URLs:
18effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch//  - chrome://newtab              -> chrome-native://newtab
19effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch//  - chrome://newtab#most_visited -> chrome-native://newtab
20effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch//  - chrome://newtab#incognito    -> chrome-native://newtab
21effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch//  - chrome://newtab#bookmarks    -> chrome-native://bookmarks
22effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch//  - chrome://newtab#bookmarks:99 -> chrome-native://bookmarks
23effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch//  - chrome://newtab#open_tabs    -> chrome-native://recent-tabs
24effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch//  - chrome-native://recent_tabs  -> chrome-native://recent-tabs
25effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch//
26effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// TODO(newt): Once most users have upgraded past M34, simplify this down to a
27effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// single rule: chrome://newtab -> chrome-native://newtab
28effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochbool HandleAndroidNewTabURL(GURL* url,
29effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                            content::BrowserContext* browser_context);
30effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
31effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}  // namespace android
32effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}  // namespace chrome
33effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
34effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#endif  // CHROME_BROWSER_ANDROID_NEW_TAB_PAGE_URL_HANDLER_H_
35