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#include "chrome/browser/android/new_tab_page_url_handler.h"
6effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
7effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include <string>
8effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
9effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "base/strings/string_util.h"
10effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "chrome/common/url_constants.h"
11effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "content/public/common/url_constants.h"
12effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "url/gurl.h"
13effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
14effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochnamespace {
15effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochconst char kLegacyBookmarksFragment[] = "bookmarks";
16effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochconst char kLegacyOpenTabsFragment[] = "open_tabs";
17effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochconst char kLegacyRecentTabsHost[] = "recent_tabs";
18effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}
19effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
20effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochnamespace chrome {
21effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochnamespace android {
22effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
23effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochbool HandleAndroidNewTabURL(GURL* url,
24effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                            content::BrowserContext* browser_context) {
25effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  if (url->SchemeIs(content::kChromeUIScheme) &&
26effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch      url->host() == chrome::kChromeUINewTabHost) {
27effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    std::string ref = url->ref();
28effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    if (StartsWithASCII(ref, kLegacyBookmarksFragment, true)) {
29effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch      *url = GURL(chrome::kChromeUINativeBookmarksURL);
30effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    } else if (ref == kLegacyOpenTabsFragment) {
31effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch      *url = GURL(chrome::kChromeUINativeRecentTabsURL);
32effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    } else {
33effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch      *url = GURL(chrome::kChromeUINativeNewTabURL);
34effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    }
35effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    return true;
36effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  }
37effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
38effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  if (url->SchemeIs(chrome::kChromeNativeScheme) &&
39effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch      url->host() == kLegacyRecentTabsHost) {
40effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    *url = GURL(chrome::kChromeUINativeRecentTabsURL);
41effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    return true;
42effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  }
43effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
44effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  return false;
45effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}
46effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
47effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}  // namespace android
48effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}  // namespace chrome
49