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