| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/android/ntp/new_tab_page_url_handler.h" | 5 #include "chrome/browser/android/ntp/new_tab_page_url_handler.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/strings/string_util.h" | 9 #include "base/strings/string_util.h" |
| 10 #include "chrome/browser/android/chrome_feature_list.h" | 10 #include "chrome/browser/android/chrome_feature_list.h" |
| 11 #include "chrome/common/url_constants.h" | 11 #include "chrome/common/url_constants.h" |
| 12 #include "content/public/common/content_features.h" |
| 12 #include "content/public/common/url_constants.h" | 13 #include "content/public/common/url_constants.h" |
| 13 #include "url/gurl.h" | 14 #include "url/gurl.h" |
| 14 | 15 |
| 15 namespace { | 16 namespace { |
| 16 const char kBookmarkFolderPath[] = "folder/"; | 17 const char kBookmarkFolderPath[] = "folder/"; |
| 17 const char kLegacyWelcomeHost[] = "welcome"; | 18 const char kLegacyWelcomeHost[] = "welcome"; |
| 18 } | 19 } |
| 19 | 20 |
| 20 namespace chrome { | 21 namespace chrome { |
| 21 namespace android { | 22 namespace android { |
| 22 | 23 |
| 23 bool HandleAndroidNativePageURL(GURL* url, | 24 bool HandleAndroidNativePageURL(GURL* url, |
| 24 content::BrowserContext* browser_context) { | 25 content::BrowserContext* browser_context) { |
| 25 if (url->SchemeIs(content::kChromeUIScheme)) { | 26 if (url->SchemeIs(content::kChromeUIScheme)) { |
| 26 // TODO(newt): stop redirecting chrome://welcome to chrome-native://newtab | 27 // TODO(newt): stop redirecting chrome://welcome to chrome-native://newtab |
| 27 // when M39 is a distant memory. http://crbug.com/455427 | 28 // when M39 is a distant memory. http://crbug.com/455427 |
| 28 if (url->host() == chrome::kChromeUINewTabHost || | 29 if (url->host() == chrome::kChromeUINewTabHost || |
| 29 url->host() == kLegacyWelcomeHost) { | 30 url->host() == kLegacyWelcomeHost) { |
| 30 *url = GURL(chrome::kChromeUINativeNewTabURL); | 31 *url = GURL(chrome::kChromeUINativeNewTabURL); |
| 31 return true; | 32 return true; |
| 32 } | 33 } |
| 33 | 34 |
| 34 // TODO(twellington): stop redirecting chrome://bookmarks to | 35 // TODO(twellington): stop redirecting chrome://history to |
| 35 // chrome-native://bookmarks when M57 is a distant memory. | 36 // chrome-native://history when M57 is a distant memory. |
| 36 // See http://crbug.com/654071. | 37 // See http://crbug.com/654071. |
| 37 if (base::FeatureList::IsEnabled( | 38 if (base::FeatureList::IsEnabled(features::kNativeAndroidHistoryManager) && |
| 38 chrome::android::kNativeAndroidHistoryManager) && | |
| 39 (url->host() == kChromeUIHistoryHost || | 39 (url->host() == kChromeUIHistoryHost || |
| 40 url->host() == kChromeUIHistoryFrameHost)) { | 40 url->host() == kChromeUIHistoryFrameHost)) { |
| 41 *url = GURL(kChromeUINativeHistoryURL); | 41 *url = GURL(kChromeUINativeHistoryURL); |
| 42 return true; | 42 return true; |
| 43 } | 43 } |
| 44 | 44 |
| 45 if (url->host() == kChromeUIPhysicalWebDiagnosticsHost) { | 45 if (url->host() == kChromeUIPhysicalWebDiagnosticsHost) { |
| 46 *url = GURL(kChromeUINativePhysicalWebDiagnosticsURL); | 46 *url = GURL(kChromeUINativePhysicalWebDiagnosticsURL); |
| 47 return true; | 47 return true; |
| 48 } | 48 } |
| 49 } | 49 } |
| 50 | 50 |
| 51 if (url->SchemeIs(chrome::kChromeNativeScheme) && | 51 if (url->SchemeIs(chrome::kChromeNativeScheme) && |
| 52 url->host() == kChromeUIBookmarksHost) { | 52 url->host() == kChromeUIBookmarksHost) { |
| 53 std::string ref = url->ref(); | 53 std::string ref = url->ref(); |
| 54 if (!ref.empty()) { | 54 if (!ref.empty()) { |
| 55 *url = GURL(std::string(kChromeUINativeBookmarksURL) | 55 *url = GURL(std::string(kChromeUINativeBookmarksURL) |
| 56 .append(kBookmarkFolderPath) | 56 .append(kBookmarkFolderPath) |
| 57 .append(ref)); | 57 .append(ref)); |
| 58 return true; | 58 return true; |
| 59 } | 59 } |
| 60 } | 60 } |
| 61 | 61 |
| 62 return false; | 62 return false; |
| 63 } | 63 } |
| 64 | 64 |
| 65 } // namespace android | 65 } // namespace android |
| 66 } // namespace chrome | 66 } // namespace chrome |
| OLD | NEW |