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[];