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 "components/password_manager/core/browser/affiliation_utils.h" | 5 #include "components/password_manager/core/browser/affiliation_utils.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <ostream> | 8 #include <ostream> |
9 | 9 |
10 #include "base/base64.h" | 10 #include "base/base64.h" |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 | 48 |
49 // Canonicalizes a Web facet URI, and returns true if canonicalization was | 49 // Canonicalizes a Web facet URI, and returns true if canonicalization was |
50 // successful and produced a valid URI. | 50 // successful and produced a valid URI. |
51 bool CanonicalizeWebFacetURI(const std::string& input_uri, | 51 bool CanonicalizeWebFacetURI(const std::string& input_uri, |
52 const url::Parsed& input_parsed, | 52 const url::Parsed& input_parsed, |
53 std::string* canonical_uri) { | 53 std::string* canonical_uri) { |
54 url::Parsed canonical_parsed; | 54 url::Parsed canonical_parsed; |
55 url::StdStringCanonOutput canonical_output(canonical_uri); | 55 url::StdStringCanonOutput canonical_output(canonical_uri); |
56 | 56 |
57 bool canonicalization_succeeded = url::CanonicalizeStandardURL( | 57 bool canonicalization_succeeded = url::CanonicalizeStandardURL( |
58 input_uri.c_str(), input_uri.size(), input_parsed, NULL, | 58 input_uri.c_str(), input_uri.size(), input_parsed, nullptr, |
59 &canonical_output, &canonical_parsed); | 59 &canonical_output, &canonical_parsed); |
60 canonical_output.Complete(); | 60 canonical_output.Complete(); |
61 | 61 |
62 if (canonicalization_succeeded && canonical_parsed.host.is_nonempty() && | 62 if (canonicalization_succeeded && canonical_parsed.host.is_nonempty() && |
63 !canonical_parsed.username.is_valid() && | 63 !canonical_parsed.username.is_valid() && |
64 !canonical_parsed.password.is_valid() && | 64 !canonical_parsed.password.is_valid() && |
65 ComponentString(*canonical_uri, canonical_parsed.path) == "/" && | 65 ComponentString(*canonical_uri, canonical_parsed.path) == "/" && |
66 !canonical_parsed.query.is_valid() && !canonical_parsed.ref.is_valid()) { | 66 !canonical_parsed.query.is_valid() && !canonical_parsed.ref.is_valid()) { |
67 // Get rid of the trailing slash added by url::CanonicalizeStandardURL(). | 67 // Get rid of the trailing slash added by url::CanonicalizeStandardURL(). |
68 DCHECK_EQ((size_t)canonical_parsed.path.begin, canonical_uri->size() - 1); | 68 DCHECK_EQ((size_t)canonical_parsed.path.begin, canonical_uri->size() - 1); |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
300 return true; | 300 return true; |
301 return StartsWithASCII(group_name, "Enabled", /*case_sensitive=*/false); | 301 return StartsWithASCII(group_name, "Enabled", /*case_sensitive=*/false); |
302 } | 302 } |
303 | 303 |
304 bool IsValidAndroidFacetURI(const std::string& url) { | 304 bool IsValidAndroidFacetURI(const std::string& url) { |
305 FacetURI facet = FacetURI::FromPotentiallyInvalidSpec(url); | 305 FacetURI facet = FacetURI::FromPotentiallyInvalidSpec(url); |
306 return facet.IsValidAndroidFacetURI(); | 306 return facet.IsValidAndroidFacetURI(); |
307 } | 307 } |
308 | 308 |
309 } // namespace password_manager | 309 } // namespace password_manager |
OLD | NEW |