Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / android / new_tab_page_url_handler.cc
blobda57f5798b37f67b91e57072eec7c7da0e327d65
1 // Copyright 2014 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/android/new_tab_page_url_handler.h"
7 #include <string>
9 #include "base/strings/string_util.h"
10 #include "chrome/common/url_constants.h"
11 #include "content/public/common/url_constants.h"
12 #include "url/gurl.h"
14 namespace {
15 const char kBookmarkFolderPath[] = "folder/";
16 const char kLegacyWelcomeHost[] = "welcome";
19 namespace chrome {
20 namespace android {
22 bool HandleAndroidNativePageURL(GURL* url,
23 content::BrowserContext* browser_context) {
24 if (url->SchemeIs(content::kChromeUIScheme)) {
25 // TODO(newt): stop redirecting chrome://welcome to chrome-native://newtab
26 // when M39 is a distant memory. http://crbug.com/455427
27 if (url->host() == chrome::kChromeUINewTabHost ||
28 url->host() == kLegacyWelcomeHost) {
29 *url = GURL(chrome::kChromeUINativeNewTabURL);
30 return true;
34 if (url->SchemeIs(chrome::kChromeNativeScheme) &&
35 url->host() == kChromeUIBookmarksHost) {
36 std::string ref = url->ref();
37 if (!ref.empty()) {
38 *url = GURL(std::string(kChromeUINativeBookmarksURL)
39 .append(kBookmarkFolderPath)
40 .append(ref));
41 return true;
45 return false;
48 } // namespace android
49 } // namespace chrome