diff --git a/import.sh b/import.sh
index 618f181..5b612f0 100644
--- a/import.sh
+++ b/import.sh
@@ -4,7 +4,7 @@
 top=/tmp/chromium
 mkdir $top
 prefix=https://chromium.googlesource.com/chromium/src.git/+archive
-for version in 59.0.3071.115 60.0.3112.101
+for version in 60.0.3112.101 61.0.3163.100
 do
   mkdir $top/$version
   cd $top/$version
diff --git a/src/build/build_config.h b/src/build/build_config.h
index 1f38fcc..a039dda 100644
--- a/src/build/build_config.h
+++ b/src/build/build_config.h
@@ -66,6 +66,8 @@
 #else
 #error Please add support for your platform in build/build_config.h
 #endif
+// NOTE: Adding a new port? Please follow
+// https://chromium.googlesource.com/chromium/src/+/master/docs/new_port_policy.md
 
 #if defined(USE_OPENSSL_CERTS) && defined(USE_NSS_CERTS)
 #error Cannot use both OpenSSL and NSS for certificates
@@ -172,6 +174,18 @@
 #else
 #define ARCH_CPU_32_BITS 1
 #endif
+#elif defined(__MIPSEB__)
+#if defined(__LP64__)
+#define ARCH_CPU_MIPS_FAMILY 1
+#define ARCH_CPU_MIPS64 1
+#define ARCH_CPU_64_BITS 1
+#define ARCH_CPU_BIG_ENDIAN 1
+#else
+#define ARCH_CPU_MIPS_FAMILY 1
+#define ARCH_CPU_MIPS 1
+#define ARCH_CPU_32_BITS 1
+#define ARCH_CPU_BIG_ENDIAN 1
+#endif
 #else
 #error Please add support for your architecture in build/build_config.h
 #endif
diff --git a/src/net/base/registry_controlled_domains/effective_tld_names.dat b/src/net/base/registry_controlled_domains/effective_tld_names.dat
index 1157a7f..35c8777 100644
--- a/src/net/base/registry_controlled_domains/effective_tld_names.dat
+++ b/src/net/base/registry_controlled_domains/effective_tld_names.dat
@@ -6472,6 +6472,17 @@
 pvt.k12.ma.us
 chtr.k12.ma.us
 paroch.k12.ma.us
+// Merit Network, Inc. maintains the registry for =~ /(k12|cc|lib).mi.us/ and the following
+//    see also: http://domreg.merit.edu
+//    see also: whois -h whois.domreg.merit.edu help
+ann-arbor.mi.us
+cog.mi.us
+dst.mi.us
+eaton.mi.us
+gen.mi.us
+mus.mi.us
+tec.mi.us
+washtenaw.mi.us
 
 // uy : http://www.nic.org.uy/
 uy
@@ -10582,8 +10593,23 @@
 
 // Amazon Elastic Beanstalk : https://aws.amazon.com/elasticbeanstalk/
 // Submitted by Luke Wells <psl-maintainers@amazon.com>
-elasticbeanstalk.cn-north-1.amazonaws.com.cn
-*.elasticbeanstalk.com
+cn-north-1.eb.amazonaws.com.cn
+elasticbeanstalk.com
+ap-northeast-1.elasticbeanstalk.com
+ap-northeast-2.elasticbeanstalk.com
+ap-south-1.elasticbeanstalk.com
+ap-southeast-1.elasticbeanstalk.com
+ap-southeast-2.elasticbeanstalk.com
+ca-central-1.elasticbeanstalk.com
+eu-central-1.elasticbeanstalk.com
+eu-west-1.elasticbeanstalk.com
+eu-west-2.elasticbeanstalk.com
+sa-east-1.elasticbeanstalk.com
+us-east-1.elasticbeanstalk.com
+us-east-2.elasticbeanstalk.com
+us-gov-west-1.elasticbeanstalk.com
+us-west-1.elasticbeanstalk.com
+us-west-2.elasticbeanstalk.com
 
 // Amazon Elastic Load Balancing : https://aws.amazon.com/elasticloadbalancing/
 // Submitted by Luke Wells <psl-maintainers@amazon.com>
@@ -11398,6 +11424,10 @@
 vladimir.su
 vologda.su
 
+// Fancy Bits, LLC : http://getchannels.com
+// Submitted by Aman Gupta <aman@getchannels.com>
+channelsdvr.net
+
 // Fastly Inc. : http://www.fastly.com/
 // Submitted by Fastly Security <security@fastly.com>
 fastlylb.net
@@ -11448,6 +11478,7 @@
 
 // Futureweb OG : http://www.futureweb.at
 // Submitted by Andreas Schnederle-Wagner <schnederle@futureweb.at>
+*.futurecms.at
 futurehosting.at
 futuremailing.at
 *.ex.ortsinfo.at
@@ -11630,6 +11661,10 @@
 sp.leg.br
 to.leg.br
 
+// intermetrics GmbH : https://pixolino.com/
+// Submitted by Wolfgang Schwarz <admin@intermetrics.de>
+pixolino.com
+
 // IPiFony Systems, Inc. : https://www.ipifony.com/
 // Submitted by Matthew Hardeman <mhardeman@ipifony.com>
 ipifony.net
@@ -11707,6 +11742,12 @@
 // Submitted by glob <glob@mozilla.com>
 bmoattachments.org
 
+// MSK-IX : https://www.msk-ix.ru/
+// Submitted by Khannanov Roman <r.khannanov@msk-ix.ru>
+net.ru
+org.ru
+pp.ru
+
 // Netlify : https://www.netlify.com
 // Submitted by Jessica Parsons <jessica@netlify.com>
 bitballoon.com
@@ -11948,6 +11989,7 @@
 // Publication Presse Communication SARL : https://ppcom.fr
 // Submitted by Yaacov Akiba Slama <admin@chirurgiens-dentistes-en-france.fr>
 chirurgiens-dentistes-en-france.fr
+byen.site
 
 // QA2
 // Submitted by Daniel Dent (https://www.danieldent.com/)
@@ -12175,10 +12217,15 @@
 // Submitted by Simon Kissel <hostmaster@viprinet.com>
 router.management
 
+// Virtual-Info : https://www.virtual-info.info/
+// Submitted by Adnan RIHAN <hostmaster@v-info.info>
+v-info.info
+
 // WeDeploy by Liferay, Inc. : https://www.wedeploy.com
 // Submitted by Henrique Vicente <security@wedeploy.com>
 wedeploy.io
 wedeploy.me
+wedeploy.sh
 
 // Western Digital Technologies, Inc : https://www.wdc.com
 // Submitted by Jung Jin <jungseok.jin@wdc.com>
diff --git a/src/net/base/registry_controlled_domains/effective_tld_names.gperf b/src/net/base/registry_controlled_domains/effective_tld_names.gperf
index 549579b..cd54f57 100644
--- a/src/net/base/registry_controlled_domains/effective_tld_names.gperf
+++ b/src/net/base/registry_controlled_domains/effective_tld_names.gperf
@@ -291,6 +291,7 @@
 andriatranibarletta.it, 0
 android, 0
 anjo.aichi.jp, 0
+ann-arbor.mi.us, 0
 annaka.gunma.jp, 0
 annefrank.museum, 0
 anpachi.gifu.jp, 0
@@ -311,6 +312,11 @@
 aosta.it, 0
 aostavalley.it, 0
 aoste.it, 0
+ap-northeast-1.elasticbeanstalk.com, 4
+ap-northeast-2.elasticbeanstalk.com, 4
+ap-south-1.elasticbeanstalk.com, 4
+ap-southeast-1.elasticbeanstalk.com, 4
+ap-southeast-2.elasticbeanstalk.com, 4
 ap.gov.br, 0
 ap.gov.pl, 0
 ap.it, 0
@@ -882,6 +888,7 @@
 bw, 0
 by, 0
 bydgoszcz.pl, 0
+byen.site, 4
 bygland.no, 0
 bykle.no, 0
 bytom.pl, 0
@@ -894,6 +901,7 @@
 c.se, 0
 c66.me, 4
 ca, 0
+ca-central-1.elasticbeanstalk.com, 4
 ca.eu.org, 4
 ca.it, 0
 ca.na, 0
@@ -1055,6 +1063,7 @@
 championship.aero, 0
 chanel, 0
 channel, 0
+channelsdvr.net, 4
 charter.aero, 0
 chase, 0
 chat, 0
@@ -1189,6 +1198,7 @@
 clubmed, 0
 cm, 0
 cn, 0
+cn-north-1.eb.amazonaws.com.cn, 4
 cn.com, 4
 cn.eu.org, 4
 cn.it, 0
@@ -1269,6 +1279,7 @@
 codespot.com, 4
 cody.museum, 0
 coffee, 0
+cog.mi.us, 0
 coldwar.museum, 0
 collection.museum, 0
 college, 0
@@ -1690,6 +1701,7 @@
 dsmynas.com, 4
 dsmynas.net, 4
 dsmynas.org, 4
+dst.mi.us, 0
 dtv, 0
 dubai, 0
 duck, 0
@@ -1754,6 +1766,7 @@
 eastcoast.museum, 0
 eat, 0
 eating-organic.net, 4
+eaton.mi.us, 0
 ebetsu.hokkaido.jp, 0
 ebina.kanagawa.jp, 0
 ebino.miyazaki.jp, 0
@@ -1910,8 +1923,7 @@
 eiheiji.fukui.jp, 0
 eisenbahn.museum, 0
 ekloges.cy, 0
-elasticbeanstalk.cn-north-1.amazonaws.com.cn, 4
-elasticbeanstalk.com, 6
+elasticbeanstalk.com, 4
 elb.amazonaws.com, 6
 elb.amazonaws.com.cn, 6
 elblag.pl, 0
@@ -1996,6 +2008,9 @@
 eu-2.evennode.com, 4
 eu-3.evennode.com, 4
 eu-4.evennode.com, 4
+eu-central-1.elasticbeanstalk.com, 4
+eu-west-1.elasticbeanstalk.com, 4
+eu-west-2.elasticbeanstalk.com, 4
 eu.com, 4
 eu.int, 0
 eu.meteorapp.com, 4
@@ -2340,6 +2355,7 @@
 futbol, 0
 futsu.nagasaki.jp, 0
 futtsu.chiba.jp, 0
+futurecms.at, 6
 futurehosting.at, 4
 futuremailing.at, 4
 fvg.it, 0
@@ -2395,6 +2411,7 @@
 geisei.kochi.jp, 0
 gemological.museum, 0
 gen.in, 0
+gen.mi.us, 0
 gen.nz, 0
 gen.tr, 0
 genkai.saga.jp, 0
@@ -4694,6 +4711,7 @@
 muroran.hokkaido.jp, 0
 muroto.kochi.jp, 0
 mus.br, 0
+mus.mi.us, 0
 musashimurayama.tokyo.jp, 0
 musashino.tokyo.jp, 0
 museet.museum, 0
@@ -5013,6 +5031,7 @@
 net.pt, 0
 net.py, 0
 net.qa, 0
+net.ru, 4
 net.rw, 0
 net.sa, 0
 net.sb, 0
@@ -5566,6 +5585,7 @@
 org.qa, 0
 org.ro, 0
 org.rs, 0
+org.ru, 4
 org.sa, 0
 org.sb, 0
 org.sc, 0
@@ -5794,6 +5814,7 @@
 pisz.pl, 0
 pittsburgh.museum, 0
 piw.gov.pl, 0
+pixolino.com, 4
 pizza, 0
 pk, 0
 pl, 0
@@ -5856,6 +5877,7 @@
 powiat.pl, 0
 poznan.pl, 4
 pp.az, 0
+pp.ru, 4
 pp.se, 0
 pp.ua, 4
 ppg.br, 0
@@ -6205,6 +6227,7 @@
 s3.eu-west-2.amazonaws.com, 4
 s3.us-east-2.amazonaws.com, 4
 sa, 0
+sa-east-1.elasticbeanstalk.com, 4
 sa.au, 0
 sa.com, 4
 sa.cr, 0
@@ -6996,6 +7019,7 @@
 te.ua, 0
 teaches-yoga.com, 4
 team, 0
+tec.mi.us, 0
 tec.ve, 0
 tech, 0
 technology, 0
@@ -7404,6 +7428,11 @@
 us-3.evennode.com, 4
 us-4.evennode.com, 4
 us-east-1.amazonaws.com, 4
+us-east-1.elasticbeanstalk.com, 4
+us-east-2.elasticbeanstalk.com, 4
+us-gov-west-1.elasticbeanstalk.com, 4
+us-west-1.elasticbeanstalk.com, 4
+us-west-2.elasticbeanstalk.com, 4
 us.com, 4
 us.eu.org, 4
 us.gov.pl, 0
@@ -7442,6 +7471,7 @@
 uz.ua, 0
 uzhgorod.ua, 0
 uzs.gov.pl, 0
+v-info.info, 4
 v.bg, 0
 va, 0
 va.it, 0
@@ -7619,6 +7649,7 @@
 warmia.pl, 0
 warszawa.pl, 0
 washingtondc.museum, 0
+washtenaw.mi.us, 0
 wassamu.hokkaido.jp, 0
 watarai.mie.jp, 0
 watari.miyagi.jp, 0
@@ -7656,6 +7687,7 @@
 wedding, 0
 wedeploy.io, 4
 wedeploy.me, 4
+wedeploy.sh, 4
 wegrow.pl, 0
 weibo, 0
 weir, 0
diff --git a/src/url/gurl.cc b/src/url/gurl.cc
index b79bddc..f6bf408 100644
--- a/src/url/gurl.cc
+++ b/src/url/gurl.cc
@@ -452,13 +452,17 @@
 }
 
 std::string GURL::HostNoBrackets() const {
+  return HostNoBracketsPiece().as_string();
+}
+
+url::base::StringPiece GURL::HostNoBracketsPiece() const {
   // If host looks like an IPv6 literal, strip the square brackets.
   url::Component h(parsed_.host);
   if (h.len >= 2 && spec_[h.begin] == '[' && spec_[h.end() - 1] == ']') {
     h.begin++;
     h.len -= 2;
   }
-  return ComponentString(h);
+  return ComponentStringPiece(h);
 }
 
 std::string GURL::GetContent() const {
diff --git a/src/url/gurl.h b/src/url/gurl.h
index 3dfc03d..b3263c8 100644
--- a/src/url/gurl.h
+++ b/src/url/gurl.h
@@ -380,6 +380,9 @@
   // literals. This can be useful for passing to getaddrinfo().
   std::string HostNoBrackets() const;
 
+  // Returns the same characters as HostNoBrackets(), avoiding a copy.
+  url::base::StringPiece HostNoBracketsPiece() const;
+
   // Returns true if this URL's host matches or is in the same domain as
   // the given input string. For example, if the hostname of the URL is
   // "www.google.com", this will return true for "com", "google.com", and
diff --git a/src/url/gurl_unittest.cc b/src/url/gurl_unittest.cc
index bf5a004..510b1ad 100644
--- a/src/url/gurl_unittest.cc
+++ b/src/url/gurl_unittest.cc
@@ -584,6 +584,7 @@
     GURL url(cases[i].input);
     EXPECT_EQ(cases[i].expected_host, url.host());
     EXPECT_EQ(cases[i].expected_plainhost, url.HostNoBrackets());
+    EXPECT_EQ(cases[i].expected_plainhost, url.HostNoBracketsPiece());
   }
 }
 
