| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/ui/browser_navigator.h" | 5 #include "chrome/browser/ui/browser_navigator.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 616 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 627 DCHECK_GT(stripped_spec.size(), strlen(content::kViewSourceScheme)); | 627 DCHECK_GT(stripped_spec.size(), strlen(content::kViewSourceScheme)); |
| 628 stripped_spec.erase(0, strlen(content::kViewSourceScheme) + 1); | 628 stripped_spec.erase(0, strlen(content::kViewSourceScheme) + 1); |
| 629 GURL stripped_url(stripped_spec); | 629 GURL stripped_url(stripped_spec); |
| 630 return stripped_url.is_valid() && | 630 return stripped_url.is_valid() && |
| 631 IsURLAllowedInIncognito(stripped_url, browser_context); | 631 IsURLAllowedInIncognito(stripped_url, browser_context); |
| 632 } | 632 } |
| 633 // Most URLs are allowed in incognito; the following are exceptions. | 633 // Most URLs are allowed in incognito; the following are exceptions. |
| 634 // chrome://extensions is on the list because it redirects to | 634 // chrome://extensions is on the list because it redirects to |
| 635 // chrome://settings. | 635 // chrome://settings. |
| 636 if (url.scheme() == content::kChromeUIScheme && | 636 if (url.scheme() == content::kChromeUIScheme && |
| 637 (url.host() == chrome::kChromeUISettingsHost || | 637 (url.host_piece() == chrome::kChromeUISettingsHost || |
| 638 url.host() == chrome::kChromeUIMdSettingsHost || | 638 url.host_piece() == chrome::kChromeUIMdSettingsHost || |
| 639 url.host() == chrome::kChromeUISettingsFrameHost || | 639 url.host_piece() == chrome::kChromeUISettingsFrameHost || |
| 640 url.host() == chrome::kChromeUIHelpHost || | 640 url.host_piece() == chrome::kChromeUIHelpHost || |
| 641 url.host() == chrome::kChromeUIHistoryHost || | 641 url.host_piece() == chrome::kChromeUIHistoryHost || |
| 642 url.host() == chrome::kChromeUIExtensionsHost || | 642 url.host_piece() == chrome::kChromeUIExtensionsHost || |
| 643 url.host() == chrome::kChromeUIBookmarksHost || | 643 url.host_piece() == chrome::kChromeUIBookmarksHost || |
| 644 #if !defined(OS_CHROMEOS) | 644 #if !defined(OS_CHROMEOS) |
| 645 url.host() == chrome::kChromeUIChromeSigninHost || | 645 url.host_piece() == chrome::kChromeUIChromeSigninHost || |
| 646 #endif | 646 #endif |
| 647 url.host() == chrome::kChromeUIUberHost || | 647 url.host_piece() == chrome::kChromeUIUberHost || |
| 648 url.host() == chrome::kChromeUIThumbnailHost || | 648 url.host_piece() == chrome::kChromeUIThumbnailHost || |
| 649 url.host() == chrome::kChromeUIThumbnailHost2 || | 649 url.host_piece() == chrome::kChromeUIThumbnailHost2 || |
| 650 url.host() == chrome::kChromeUIThumbnailListHost || | 650 url.host_piece() == chrome::kChromeUIThumbnailListHost || |
| 651 url.host() == chrome::kChromeUISuggestionsHost || | 651 url.host_piece() == chrome::kChromeUISuggestionsHost || |
| 652 #if defined(OS_CHROMEOS) | 652 #if defined(OS_CHROMEOS) |
| 653 url.host() == chrome::kChromeUIVoiceSearchHost || | 653 url.host_piece() == chrome::kChromeUIVoiceSearchHost || |
| 654 #endif | 654 #endif |
| 655 url.host() == chrome::kChromeUIDevicesHost)) { | 655 url.host_piece() == chrome::kChromeUIDevicesHost)) { |
| 656 return false; | 656 return false; |
| 657 } | 657 } |
| 658 | 658 |
| 659 if (url.scheme() == chrome::kChromeSearchScheme && | 659 if (url.scheme() == chrome::kChromeSearchScheme && |
| 660 (url.host() == chrome::kChromeUIThumbnailHost || | 660 (url.host_piece() == chrome::kChromeUIThumbnailHost || |
| 661 url.host() == chrome::kChromeUIThumbnailHost2 || | 661 url.host_piece() == chrome::kChromeUIThumbnailHost2 || |
| 662 url.host() == chrome::kChromeUIThumbnailListHost || | 662 url.host_piece() == chrome::kChromeUIThumbnailListHost || |
| 663 url.host() == chrome::kChromeUISuggestionsHost)) { | 663 url.host_piece() == chrome::kChromeUISuggestionsHost)) { |
| 664 return false; | 664 return false; |
| 665 } | 665 } |
| 666 | 666 |
| 667 GURL rewritten_url = url; | 667 GURL rewritten_url = url; |
| 668 bool reverse_on_redirect = false; | 668 bool reverse_on_redirect = false; |
| 669 content::BrowserURLHandler::GetInstance()->RewriteURLIfNecessary( | 669 content::BrowserURLHandler::GetInstance()->RewriteURLIfNecessary( |
| 670 &rewritten_url, browser_context, &reverse_on_redirect); | 670 &rewritten_url, browser_context, &reverse_on_redirect); |
| 671 | 671 |
| 672 // Some URLs are mapped to uber subpages. Do not allow them in incognito. | 672 // Some URLs are mapped to uber subpages. Do not allow them in incognito. |
| 673 return !(rewritten_url.scheme() == content::kChromeUIScheme && | 673 return !(rewritten_url.scheme_piece() == content::kChromeUIScheme && |
| 674 rewritten_url.host() == chrome::kChromeUIUberHost); | 674 rewritten_url.host_piece() == chrome::kChromeUIUberHost); |
| 675 } | 675 } |
| 676 | 676 |
| 677 } // namespace chrome | 677 } // namespace chrome |
| OLD | NEW |