OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "url/url_util.h" | 5 #include "url/url_util.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <string.h> | 8 #include <string.h> |
9 | 9 |
10 #include "base/debug/leak_annotations.h" | 10 #include "base/debug/leak_annotations.h" |
(...skipping 590 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
601 SchemeType unused_scheme_type; | 601 SchemeType unused_scheme_type; |
602 return DoIsStandard(spec, scheme, &unused_scheme_type); | 602 return DoIsStandard(spec, scheme, &unused_scheme_type); |
603 } | 603 } |
604 | 604 |
605 bool IsReferrerScheme(const char* spec, const Component& scheme) { | 605 bool IsReferrerScheme(const char* spec, const Component& scheme) { |
606 Initialize(); | 606 Initialize(); |
607 SchemeType unused_scheme_type; | 607 SchemeType unused_scheme_type; |
608 return DoIsInSchemes(spec, scheme, &unused_scheme_type, *referrer_schemes); | 608 return DoIsInSchemes(spec, scheme, &unused_scheme_type, *referrer_schemes); |
609 } | 609 } |
610 | 610 |
611 bool IsAboutBlankURL(const GURL& url) { | |
612 if (!url.SchemeIs(url::kAboutScheme)) | |
613 return false; | |
614 | |
615 if (url.has_host() || url.has_username() || url.has_password() || | |
616 url.has_port()) { | |
617 return false; | |
618 } | |
619 | |
620 if (url.path() != kAboutBlankPath && url.path() != kAboutBlankWithHashPath) | |
621 return false; | |
622 | |
623 return true; | |
Mike West
2017/01/20 12:57:56
There's enough logic here that adding tests seems
clamy
2017/01/20 13:19:28
Done. Let me know if you think I should add anothe
| |
624 } | |
625 | |
611 bool FindAndCompareScheme(const char* str, | 626 bool FindAndCompareScheme(const char* str, |
612 int str_len, | 627 int str_len, |
613 const char* compare, | 628 const char* compare, |
614 Component* found_scheme) { | 629 Component* found_scheme) { |
615 return DoFindAndCompareScheme(str, str_len, compare, found_scheme); | 630 return DoFindAndCompareScheme(str, str_len, compare, found_scheme); |
616 } | 631 } |
617 | 632 |
618 bool FindAndCompareScheme(const base::char16* str, | 633 bool FindAndCompareScheme(const base::char16* str, |
619 int str_len, | 634 int str_len, |
620 const char* compare, | 635 const char* compare, |
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
801 return DoCompareSchemeComponent(spec, component, compare_to); | 816 return DoCompareSchemeComponent(spec, component, compare_to); |
802 } | 817 } |
803 | 818 |
804 bool CompareSchemeComponent(const base::char16* spec, | 819 bool CompareSchemeComponent(const base::char16* spec, |
805 const Component& component, | 820 const Component& component, |
806 const char* compare_to) { | 821 const char* compare_to) { |
807 return DoCompareSchemeComponent(spec, component, compare_to); | 822 return DoCompareSchemeComponent(spec, component, compare_to); |
808 } | 823 } |
809 | 824 |
810 } // namespace url | 825 } // namespace url |
OLD | NEW |