Index: url/mojo/url_gurl_struct_traits.h |
diff --git a/url/mojo/url_gurl_struct_traits.h b/url/mojo/url_gurl_struct_traits.h |
index 4bad7d7ef403b9a6caa37dcf31007590d9cb0134..5297df5e3b7d7e9db6787ab62966265a83744fd6 100644 |
--- a/url/mojo/url_gurl_struct_traits.h |
+++ b/url/mojo/url_gurl_struct_traits.h |
@@ -23,16 +23,23 @@ struct StructTraits<url::mojom::Url, GURL> { |
return base::StringPiece(r.possibly_invalid_spec().c_str(), |
r.possibly_invalid_spec().length()); |
} |
- static bool Read(url::mojom::Url::Reader r, GURL* out) { |
- if (r.url().length() > url::kMaxURLChars) { |
+ static bool Read(url::mojom::UrlDataView data, GURL* out) { |
+ if (data.is_null()) { |
*out = GURL(); |
- return false; |
+ return true; |
} |
- *out = GURL(r.url()); |
- if (!r.url().empty() && !out->is_valid()) { |
- *out = GURL(); |
+ |
+ base::StringPiece url_string; |
+ if (!data.ReadUrl(&url_string)) |
return false; |
- } |
+ |
+ if (url_string.length() > url::kMaxURLChars) |
+ return false; |
+ |
+ *out = GURL(url_string); |
+ if (!url_string.empty() && !out->is_valid()) |
+ return false; |
+ |
return true; |
} |
}; |