Internal change PiperOrigin-RevId: 133767835 Change-Id: Ia37d6a5f13f39a8d33abf9bfc30a5ac058eb115b
diff --git a/import.sh b/import.sh new file mode 100644 index 0000000..dd789ed --- /dev/null +++ b/import.sh
@@ -0,0 +1,17 @@ +#!/bin/sh +# Download the latest and previous versions of the Chromium url library. +# This makes it easy to run "diff -r -u" and "patch -p2". +top=/tmp/chromium +mkdir $top +prefix=https://chromium.googlesource.com/chromium/src.git/+archive +for version in 52.0.2743.82 53.0.2785.116 +do + mkdir $top/$version + cd $top/$version + for d in base build url + do + wget $prefix/$version/$d.tar.gz + mkdir $top/$version/$d + cat $d.tar.gz | gunzip | (cd $top/$version/$d; tar fx -) + done +done
diff --git a/src/base/strings/string16.h b/src/base/strings/string16.h index 925e52f..67f9cee 100644 --- a/src/base/strings/string16.h +++ b/src/base/strings/string16.h
@@ -51,6 +51,8 @@ #elif defined(WCHAR_T_IS_UTF32) +#include <wchar.h> // for mbstate_t + namespace url { namespace base {
diff --git a/src/url/gurl.cc b/src/url/gurl.cc index 3dadacf..c057724 100644 --- a/src/url/gurl.cc +++ b/src/url/gurl.cc
@@ -101,9 +101,7 @@ } GURL::GURL(std::string canonical_spec, const url::Parsed& parsed, bool is_valid) - : is_valid_(is_valid), - parsed_(parsed) { - spec_.swap(canonical_spec); + : spec_(std::move(canonical_spec)), is_valid_(is_valid), parsed_(parsed) { InitializeFromCanonicalSpec(); }
diff --git a/src/url/gurl.h b/src/url/gurl.h index 3509247..4d8b5d4 100644 --- a/src/url/gurl.h +++ b/src/url/gurl.h
@@ -70,7 +70,7 @@ // from WebURL without copying the string. When we call this constructor // we pass in a temporary std::string, which lets the compiler skip the // copy and just move the std::string into the function argument. In the - // implementation, we use swap to move the data into the GURL itself, + // implementation, we use std::move to move the data into the GURL itself, // which means we end up with zero copies. GURL(std::string canonical_spec, const url::Parsed& parsed, bool is_valid);
diff --git a/src/url/gurl_unittest.cc b/src/url/gurl_unittest.cc index cd680c2..79c16bb 100644 --- a/src/url/gurl_unittest.cc +++ b/src/url/gurl_unittest.cc
@@ -660,6 +660,9 @@ GURL c("foo://bar/baz"); EXPECT_FALSE(c.IsStandard()); + + GURL d("cid:bar@baz"); + EXPECT_FALSE(d.IsStandard()); } TEST(GURLTest, SchemeIsHTTPOrHTTPS) {
diff --git a/src/url/url_constants.cc b/src/url/url_constants.cc index 0388fbc..549819e 100644 --- a/src/url/url_constants.cc +++ b/src/url/url_constants.cc
@@ -11,6 +11,7 @@ const char kAboutScheme[] = "about"; const char kBlobScheme[] = "blob"; const char kContentScheme[] = "content"; +const char kContentIDScheme[] = "cid"; const char kDataScheme[] = "data"; const char kFileScheme[] = "file"; const char kFileSystemScheme[] = "filesystem";
diff --git a/src/url/url_constants.h b/src/url/url_constants.h index fa71164..3a423d2 100644 --- a/src/url/url_constants.h +++ b/src/url/url_constants.h
@@ -17,6 +17,7 @@ URL_EXPORT extern const char kBlobScheme[]; // The content scheme is specific to Android for identifying a stored file. URL_EXPORT extern const char kContentScheme[]; +URL_EXPORT extern const char kContentIDScheme[]; URL_EXPORT extern const char kDataScheme[]; URL_EXPORT extern const char kFileScheme[]; URL_EXPORT extern const char kFileSystemScheme[];