Date: Thursday, December 21, 2017 @ 00:08:54
  Author: foutrelis
Revision: 313461

upgpkg: chromium 63.0.3239.108-2

- Use system freetype and harfbuzz
- Unescape fragment for display in Omnibox

Added:
  chromium/trunk/chromium-omnibox-unescape-fragment.patch
Modified:
  chromium/trunk/PKGBUILD
Deleted:
  chromium/trunk/chromium.desktop

------------------------------------------+
 PKGBUILD                                 |   45 +-
 chromium-omnibox-unescape-fragment.patch |  437 +++++++++++++++++++++++++++++
 chromium.desktop                         |  112 -------
 3 files changed, 466 insertions(+), 128 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2017-12-20 23:58:20 UTC (rev 313460)
+++ PKGBUILD    2017-12-21 00:08:54 UTC (rev 313461)
@@ -6,7 +6,7 @@
 
 pkgname=chromium
 pkgver=63.0.3239.108
-pkgrel=1
+pkgrel=2
 _launcher_ver=5
 pkgdesc="A web browser built for speed, simplicity, and security"
 arch=('x86_64')
@@ -25,32 +25,32 @@
 
source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
         
chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
         
chromium-$pkgver.txt::https://chromium.googlesource.com/chromium/src.git/+/$pkgver?format=TEXT
-        chromium.desktop
-        chromium-exclude_unwind_tables.patch
+        chromium-omnibox-unescape-fragment.patch
         chromium-clang-r1.patch
         chromium-webrtc-r0.patch
+        chromium-exclude_unwind_tables.patch
         chromium-widevine.patch)
 sha256sums=('47d80798194da78bdd519b7ce012425b13cf89d6eb287e22a34342a245c31a2b'
             '4dc3428f2c927955d9ae117f2fb24d098cc6dd67adb760ac9c82b522ec8b0587'
             '6da2cc8e4ae13547763f946c331b2f819fbb8af01681b8b90564a95f8a423e58'
-            '028a748a5c275de9b8f776f97909f999a8583a4b77fd1cd600b4fc5c0c3e91e9'
-            'e53dc6f259acd39df13874f8a0f440528fae764b859dd71447991a5b1fac7c9c'
+            '814eb2cecb10cb697e24036b08aac41e88d0e38971741f9e946200764e2401ae'
             'ab5368a3e3a67fa63b33fefc6788ad5b4a79089ef4db1011a14c3bee9fdf70c6'
             'bcb2f4588cf5dcf75cde855c7431e94fdcc34bdd68b876a90f65ab9938594562'
+            'e53dc6f259acd39df13874f8a0f440528fae764b859dd71447991a5b1fac7c9c'
             'd6fdcb922e5a7fbe15759d39ccc8ea4225821c44d98054ce0f23f9d1f00c9808')
 
 # Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
 # Keys are the names in the above script; values are the dependencies in Arch
-declare -rgA _system_libs=(
-  #[ffmpeg]=ffmpeg              # https://crbug.com/731766
+readonly -A _system_libs=(
+  #[ffmpeg]=ffmpeg            # https://crbug.com/731766
   [flac]=flac
-  #[freetype]=freetype2         # https://crbug.com/pdfium/733
-  #[harfbuzz-ng]=harfbuzz-icu   # https://crbug.com/768938
-  #[icu]=icu                    # https://crbug.com/772655
+  #[freetype]=freetype2       # Using 'use_system_freetype=true' until M65
+  #[harfbuzz-ng]=harfbuzz     # Using 'use_system_harfbuzz=true' until M65
+  #[icu]=icu                  # https://crbug.com/772655 + need M64 for ICU 60
   [libdrm]=
   [libjpeg]=libjpeg
-  #[libpng]=libpng              # https://crbug.com/752403#c10
-  #[libvpx]=libvpx              # https://bugs.gentoo.org/611394
+  #[libpng]=libpng            # https://crbug.com/752403#c10
+  #[libvpx]=libvpx            # https://bugs.gentoo.org/611394
   [libwebp]=libwebp
   [libxml]=libxml2
   [libxslt]=libxslt
@@ -60,7 +60,13 @@
   [yasm]=
   [zlib]=minizip
 )
-depends+=(${_system_libs[@]})
+readonly _unwanted_bundled_libs=(
+  ${!_system_libs[@]}
+  ${_system_libs[libjpeg]+libjpeg_turbo}
+  freetype
+  harfbuzz-ng
+)
+depends+=(${_system_libs[@]} freetype2 harfbuzz)
 
 # Google API keys (see https://www.chromium.org/developers/how-tos/api-keys)
 # Note: These are for Arch Linux use ONLY. For your own distribution, please
@@ -90,6 +96,9 @@
   # https://chromium-review.googlesource.com/c/chromium/src/+/712575
   patch -Np1 -i ../chromium-exclude_unwind_tables.patch
 
+  # https://crbug.com/789163
+  patch -Np1 -i ../chromium-omnibox-unescape-fragment.patch
+
   # Fixes from Gentoo
   patch -Np1 -i ../chromium-clang-r1.patch
   patch -Np1 -i ../chromium-webrtc-r0.patch
@@ -116,12 +125,14 @@
   # *should* do what the remove_bundled_libraries.py script does, with the
   # added benefit of not having to list all the remaining libraries
   local _lib
-  for _lib in ${!_system_libs[@]} ${_system_libs[libjpeg]+libjpeg_turbo}; do
+  for _lib in ${_unwanted_bundled_libs[@]}; do
     find -type f -path "*third_party/$_lib/*" \
       \! -path "*third_party/$_lib/chromium/*" \
       \! -path "*third_party/$_lib/google/*" \
-      \! -path "*base/third_party/icu/*" \
-      \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
+      \! -path './base/third_party/icu/*' \
+      \! -path './third_party/freetype/src/src/psnames/pstables.h' \
+      \! -path './third_party/yasm/run_yasm.py' \
+      \! -regex '.*\.\(gn\|gni\|isolate\)' \
       -delete
   done
 
@@ -161,6 +172,8 @@
     'ffmpeg_branding="Chrome"'
     'proprietary_codecs=true'
     'link_pulseaudio=true'
+    'use_system_freetype=true'
+    'use_system_harfbuzz=true'
     'use_gtk3=true'
     'use_gconf=false'
     'use_gnome_keyring=false'

Added: chromium-omnibox-unescape-fragment.patch
===================================================================
--- chromium-omnibox-unescape-fragment.patch                            (rev 0)
+++ chromium-omnibox-unescape-fragment.patch    2017-12-21 00:08:54 UTC (rev 
313461)
@@ -0,0 +1,437 @@
+commit 03f9a90d8a783f9d1a94935ac298338a1e694380
+Author: Eric Lawrence <elawre...@chromium.org>
+Date:   Sat Dec 16 04:48:11 2017 +0000
+
+    Reland of 'Unescape fragment for display in Omnibox'
+    
+    The original landing broke EGTests for iOS Simulator and Device which
+    were not run by the CQ. This change includes updated EGTests.
+    
+    TBR=pkast...@chromium.org
+    
+    Bug: 789163, 643458
+    Cq-Include-Trybots: 
master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
+    Change-Id: Ie30afcb7bcba5affc7266d72a10b7f8dc0074314
+    Reviewed-on: https://chromium-review.googlesource.com/830093
+    Reviewed-by: Eric Lawrence <elawre...@chromium.org>
+    Reviewed-by: Peter Kasting <pkast...@chromium.org>
+    Reviewed-by: Eugene But <eugene...@chromium.org>
+    Commit-Queue: Eric Lawrence <elawre...@chromium.org>
+    Cr-Commit-Position: refs/heads/master@{#524591}
+
+diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc 
b/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc
+index 6e5dff47f7ec..24f1056d49d5 100644
+--- a/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc
++++ b/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc
+@@ -462,3 +462,13 @@ IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest, 
TextElideStatus) {
+   EXPECT_EQ(omnibox_view_views->GetRenderText()->elide_behavior(),
+             gfx::NO_ELIDE);
+ }
++ 
++IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest, FragmentUnescapedForDisplay) {
++  OmniboxView* view = nullptr;
++  ASSERT_NO_FATAL_FAILURE(GetOmniboxViewForBrowser(browser(), &view));
++  ui_test_utils::NavigateToURL(browser(),
++                               GURL("https://www.google.com/#%E2%98%83";));
++
++  EXPECT_EQ(view->GetText(),
++            base::UTF8ToUTF16("https://www.google.com/#\u2603";));
++}
+diff --git a/components/url_formatter/elide_url_unittest.cc 
b/components/url_formatter/elide_url_unittest.cc
+index 5e0384af72a2..d403ce065f45 100644
+--- a/components/url_formatter/elide_url_unittest.cc
++++ b/components/url_formatter/elide_url_unittest.cc
+@@ -347,15 +347,16 @@ TEST(TextEliderTest, TestElisionSpecialCases) {
+        kEllipsisStr + "berkeley.edu:4430/" + kEllipsisStr + "/arbitfilename"},
+ 
+       // Unescaping.
+-      {"http://www/%E4%BD%A0%E5%A5%BD?q=%E4%BD%A0%E5%A5%BD#\xe4\xbd\xa0";,
+-       "www/\xe4\xbd\xa0\xe5\xa5\xbd?q=\xe4\xbd\xa0\xe5\xa5\xbd#" +
++      {"http://www/%E4%BD%A0%E5%A5%BD?";
++       "q=%E4%BD%A0%E5%A5%BD#\xe4\xbd\xa0\xe4\xbd\xa0\xe4\xbd\xa0",
++       "www/\xe4\xbd\xa0\xe5\xa5\xbd?q=\xe4\xbd\xa0\xe5\xa5\xbd#\xe4\xbd\xa0" 
+
+            kEllipsisStr},
+ 
+       // Invalid unescaping for path. The ref will always be valid UTF-8. We
+       // don't bother to do too many edge cases, since these are handled by 
the
+       // escaper unittest.
+       {"http://www/%E4%A0%E5%A5%BD?q=%E4%BD%A0%E5%A5%BD#\xe4\xbd\xa0";,
+-       "www/%E4%A0%E5%A5%BD?q=\xe4\xbd\xa0\xe5\xa5\xbd#" + kEllipsisStr},
++       "www/%E4%A0%E5%A5%BD?q=\xe4\xbd\xa0\xe5\xa5\xbd#\xe4\xbd\xa0"},
+   };
+ 
+   RunElisionTest(testcases);
+diff --git a/components/url_formatter/url_formatter.cc 
b/components/url_formatter/url_formatter.cc
+index d5c0d314a5de..c422e3d98a72 100644
+--- a/components/url_formatter/url_formatter.cc
++++ b/components/url_formatter/url_formatter.cc
+@@ -586,11 +586,10 @@ base::string16 FormatUrlWithAdjustments(
+                              NonHostComponentTransform(unescape_rules),
+                              &url_string, &new_parsed->query, adjustments);
+ 
+-    // Ref.  This is valid, unescaped UTF-8, so we can just convert.
+     if (parsed.ref.is_valid())
+       url_string.push_back('#');
+     AppendFormattedComponent(spec, parsed.ref,
+-                             
NonHostComponentTransform(net::UnescapeRule::NONE),
++                             NonHostComponentTransform(unescape_rules),
+                              &url_string, &new_parsed->ref, adjustments);
+   }
+ 
+diff --git a/components/url_formatter/url_formatter_unittest.cc 
b/components/url_formatter/url_formatter_unittest.cc
+index 6fd3ece50f7d..5aaf31105a43 100644
+--- a/components/url_formatter/url_formatter_unittest.cc
++++ b/components/url_formatter/url_formatter_unittest.cc
+@@ -828,7 +828,7 @@ TEST(UrlFormatterTest, FormatUrl) {
+ 
+       {"With a port number and a reference",
+        "http://www.google.com:8080/#\xE3\x82\xB0";, default_format_type,
+-       net::UnescapeRule::NORMAL, L"http://www.google.com:8080/#%E3%82%B0";, 
7},
++       net::UnescapeRule::NORMAL, L"http://www.google.com:8080/#\x30B0";, 7},
+ 
+       // -------- IDN tests --------
+       {"Japanese IDN with ja", "http://xn--l8jvb1ey91xtjb.jp";,
+@@ -1119,7 +1119,7 @@ TEST(UrlFormatterTest, FormatUrlParsed) {
+                 kFormatUrlOmitNothing, net::UnescapeRule::NORMAL, &parsed,
+                 nullptr, nullptr);
+   
EXPECT_EQ(WideToUTF16(L"http://\x30B0:\x30FC@\x30B0\x30FC\x30B0\x30EB.jp:8080";
+-                        L"/\x30B0/?q=\x30B0#%E3%82%B0"),
++                        L"/\x30B0/?q=\x30B0#\x30B0"),
+             formatted);
+   EXPECT_EQ(WideToUTF16(L"\x30B0"),
+       formatted.substr(parsed.username.begin, parsed.username.len));
+@@ -1133,7 +1133,7 @@ TEST(UrlFormatterTest, FormatUrlParsed) {
+       formatted.substr(parsed.path.begin, parsed.path.len));
+   EXPECT_EQ(WideToUTF16(L"q=\x30B0"),
+       formatted.substr(parsed.query.begin, parsed.query.len));
+-  EXPECT_EQ(WideToUTF16(L"%E3%82%B0"),
++  EXPECT_EQ(WideToUTF16(L"\x30B0"),
+             formatted.substr(parsed.ref.begin, parsed.ref.len));
+ 
+   // Omit_username_password + unescape case.
+@@ -1143,7 +1143,7 @@ TEST(UrlFormatterTest, FormatUrlParsed) {
+                 kFormatUrlOmitUsernamePassword, net::UnescapeRule::NORMAL,
+                 &parsed, nullptr, nullptr);
+   EXPECT_EQ(WideToUTF16(L"http://\x30B0\x30FC\x30B0\x30EB.jp:8080";
+-                        L"/\x30B0/?q=\x30B0#%E3%82%B0"),
++                        L"/\x30B0/?q=\x30B0#\x30B0"),
+             formatted);
+   EXPECT_FALSE(parsed.username.is_valid());
+   EXPECT_FALSE(parsed.password.is_valid());
+@@ -1155,7 +1155,7 @@ TEST(UrlFormatterTest, FormatUrlParsed) {
+       formatted.substr(parsed.path.begin, parsed.path.len));
+   EXPECT_EQ(WideToUTF16(L"q=\x30B0"),
+       formatted.substr(parsed.query.begin, parsed.query.len));
+-  EXPECT_EQ(WideToUTF16(L"%E3%82%B0"),
++  EXPECT_EQ(WideToUTF16(L"\x30B0"),
+             formatted.substr(parsed.ref.begin, parsed.ref.len));
+ 
+   // View-source case.
+@@ -1389,9 +1389,12 @@ TEST(UrlFormatterTest, FormatUrlWithOffsets) {
+       kFormatUrlOmitNothing, net::UnescapeRule::SPACES, unescape_offsets);
+ 
+   const size_t ref_offsets[] = {
+-      0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  10, 11, 12, 13, 14, 15, 16,
+-      17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+-      34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49};
++      0,  1,     2,     3,     4,     5,     6,     7,     8,     9,
++      10, 11,    12,    13,    14,    15,    16,    17,    18,    19,
++      20, 21,    22,    23,    24,    25,    26,    27,    28,    29,
++      30, 31,    kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos,
++      32, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, 33};
++
+   // Unescape to "http://www.google.com/foo.html#\x30B0\x30B0z";.
+   CheckAdjustedOffsets("http://www.google.com/foo.html#%E3%82%B0%E3%82%B0z";,
+                        kFormatUrlOmitNothing, net::UnescapeRule::NORMAL,
+diff --git 
a/ios/chrome/browser/web/push_and_replace_state_navigation_egtest.mm 
b/ios/chrome/browser/web/push_and_replace_state_navigation_egtest.mm
+index b67f2a08d0a0..431ad368f07d 100644
+--- a/ios/chrome/browser/web/push_and_replace_state_navigation_egtest.mm
++++ b/ios/chrome/browser/web/push_and_replace_state_navigation_egtest.mm
+@@ -59,40 +59,42 @@ const char* kReplaceStateRootPathSpaceURL = 
"http://ios/rep lace";
+   // Push 3 URLs. Verify that the URL changed and the status was updated.
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashWithObject"];
+   [self assertStatusText:@"pushStateHashWithObject"
+-                 withURL:pushStateHashWithObjectURL
++         withOmniboxText:pushStateHashWithObjectURL.GetContent()
+               pageLoaded:NO];
+ 
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateRootPath"];
+   [self assertStatusText:@"pushStateRootPath"
+-                 withURL:pushStateRootPathURL
++         withOmniboxText:pushStateRootPathURL.GetContent()
+               pageLoaded:NO];
+ 
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStatePathSpace"];
+   [self assertStatusText:@"pushStatePathSpace"
+-                 withURL:pushStatePathSpaceURL
++         withOmniboxText:pushStatePathSpaceURL.GetContent()
+               pageLoaded:NO];
+ 
+   // Go back and check that the page doesn't load and the status text is 
updated
+   // by the popstate event.
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+   [self assertStatusText:@"pushStateRootPath"
+-                 withURL:pushStateRootPathURL
++         withOmniboxText:pushStateRootPathURL.GetContent()
+               pageLoaded:NO];
+ 
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+   [self assertStatusText:@"pushStateHashWithObject"
+-                 withURL:pushStateHashWithObjectURL
++         withOmniboxText:pushStateHashWithObjectURL.GetContent()
+               pageLoaded:NO];
+ 
+   [ChromeEarlGrey tapWebViewElementWithID:@"goBack"];
+   const GURL historyTestURL = web::test::HttpServer::MakeUrl(kHistoryTestUrl);
+-  [self assertStatusText:NULL withURL:historyTestURL pageLoaded:NO];
++  [self assertStatusText:nil
++         withOmniboxText:historyTestURL.GetContent()
++              pageLoaded:NO];
+ 
+   // Go forward 2 pages and check that the page doesn't load and the status 
text
+   // is updated by the popstate event.
+   [ChromeEarlGrey tapWebViewElementWithID:@"goForward2"];
+   [self assertStatusText:@"pushStateRootPath"
+-                 withURL:pushStateRootPathURL
++         withOmniboxText:pushStateRootPathURL.GetContent()
+               pageLoaded:NO];
+ }
+ 
+@@ -108,7 +110,7 @@ const char* kReplaceStateRootPathSpaceURL = 
"http://ios/rep lace";
+       web::test::HttpServer::MakeUrl(kReplaceStateHashWithObjectURL);
+   [ChromeEarlGrey tapWebViewElementWithID:@"replaceStateHashWithObject"];
+   [self assertStatusText:@"replaceStateHashWithObject"
+-                 withURL:replaceStateHashWithObjectURL
++         withOmniboxText:replaceStateHashWithObjectURL.GetContent()
+               pageLoaded:NO];
+ 
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+@@ -119,7 +121,7 @@ const char* kReplaceStateRootPathSpaceURL = 
"http://ios/rep lace";
+   [[EarlGrey selectElementWithMatcher:ForwardButton()]
+       performAction:grey_tap()];
+   [self assertStatusText:@"replaceStateHashWithObject"
+-                 withURL:replaceStateHashWithObjectURL
++         withOmniboxText:replaceStateHashWithObjectURL.GetContent()
+               pageLoaded:YES];
+ 
+   // Push URL then replace it. Do this twice.
+@@ -127,44 +129,44 @@ const char* kReplaceStateRootPathSpaceURL = 
"http://ios/rep lace";
+       web::test::HttpServer::MakeUrl(kPushStateHashStringURL);
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashString"];
+   [self assertStatusText:@"pushStateHashString"
+-                 withURL:pushStateHashStringURL
++         withOmniboxText:pushStateHashStringURL.GetContent()
+               pageLoaded:NO];
+ 
+   const GURL replaceStateHashStringURL =
+       web::test::HttpServer::MakeUrl(kReplaceStateHashStringURL);
+   [ChromeEarlGrey tapWebViewElementWithID:@"replaceStateHashString"];
+   [self assertStatusText:@"replaceStateHashString"
+-                 withURL:replaceStateHashStringURL
++         withOmniboxText:replaceStateHashStringURL.GetContent()
+               pageLoaded:NO];
+ 
+   const GURL pushStatePathURL =
+       web::test::HttpServer::MakeUrl(kPushStatePathURL);
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStatePath"];
+   [self assertStatusText:@"pushStatePath"
+-                 withURL:pushStatePathURL
++         withOmniboxText:pushStatePathURL.GetContent()
+               pageLoaded:NO];
+ 
+   const GURL replaceStateRootPathSpaceURL =
+       web::test::HttpServer::MakeUrl(kReplaceStateRootPathSpaceURL);
+   [ChromeEarlGrey tapWebViewElementWithID:@"replaceStateRootPathSpace"];
+   [self assertStatusText:@"replaceStateRootPathSpace"
+-                 withURL:replaceStateRootPathSpaceURL
++         withOmniboxText:replaceStateRootPathSpaceURL.GetContent()
+               pageLoaded:NO];
+ 
+   // Go back and check URLs.
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+   [self assertStatusText:@"replaceStateHashString"
+-                 withURL:replaceStateHashStringURL
++         withOmniboxText:replaceStateHashStringURL.GetContent()
+               pageLoaded:NO];
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+   [self assertStatusText:@"replaceStateHashWithObject"
+-                 withURL:replaceStateHashWithObjectURL
++         withOmniboxText:replaceStateHashWithObjectURL.GetContent()
+               pageLoaded:NO];
+ 
+   // Go forward and check URL.
+   [ChromeEarlGrey tapWebViewElementWithID:@"goForward2"];
+   [self assertStatusText:@"replaceStateRootPathSpace"
+-                 withURL:replaceStateRootPathSpaceURL
++         withOmniboxText:replaceStateRootPathSpaceURL.GetContent()
+               pageLoaded:NO];
+ }
+ 
+@@ -180,11 +182,11 @@ const char* kReplaceStateRootPathSpaceURL = 
"http://ios/rep lace";
+       web::test::HttpServer::MakeUrl(kPushStateHashStringURL);
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashString"];
+   [self assertStatusText:@"pushStateHashString"
+-                 withURL:pushStateHashStringURL
++         withOmniboxText:pushStateHashStringURL.GetContent()
+               pageLoaded:NO];
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashString"];
+   [self assertStatusText:@"pushStateHashString"
+-                 withURL:pushStateHashStringURL
++         withOmniboxText:pushStateHashStringURL.GetContent()
+               pageLoaded:NO];
+ 
+   // Load a non-pushed URL.
+@@ -194,7 +196,7 @@ const char* kReplaceStateRootPathSpaceURL = 
"http://ios/rep lace";
+   [ChromeEarlGrey loadURL:historyTestURL];
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashString"];
+   [self assertStatusText:@"pushStateHashString"
+-                 withURL:pushStateHashStringURL
++         withOmniboxText:pushStateHashStringURL.GetContent()
+               pageLoaded:NO];
+ 
+   // At this point the history looks like this:
+@@ -202,38 +204,54 @@ const char* kReplaceStateRootPathSpaceURL = 
"http://ios/rep lace";
+ 
+   // Go back (to second history.html) and verify page did not load.
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+-  [self assertStatusText:nil withURL:historyTestURL pageLoaded:NO];
++  [self assertStatusText:nil
++         withOmniboxText:historyTestURL.GetContent()
++              pageLoaded:NO];
+ 
+   // Go back twice (to second #string) and verify page did load.
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+-  [self assertStatusText:nil withURL:pushStateHashStringURL pageLoaded:YES];
++  [self assertStatusText:nil
++         withOmniboxText:pushStateHashStringURL.GetContent()
++              pageLoaded:YES];
+ 
+   // Go back once (to first #string) and verify page did not load.
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+   [self assertStatusText:@"pushStateHashString"
+-                 withURL:pushStateHashStringURL
++         withOmniboxText:pushStateHashStringURL.GetContent()
+               pageLoaded:NO];
+ 
+   // Go forward 4 entries at once (to third #string) and verify page did load.
+   [ChromeEarlGrey tapWebViewElementWithID:@"goForward4"];
+ 
+-  [self assertStatusText:nil withURL:pushStateHashStringURL pageLoaded:YES];
++  [self assertStatusText:nil
++         withOmniboxText:pushStateHashStringURL.GetContent()
++              pageLoaded:YES];
+ 
+   // Go back 4 entries at once (to first #string) and verify page did load.
+   [ChromeEarlGrey tapWebViewElementWithID:@"goBack4"];
+ 
+-  [self assertStatusText:NULL withURL:pushStateHashStringURL pageLoaded:YES];
++  [self assertStatusText:nil
++         withOmniboxText:pushStateHashStringURL.GetContent()
++              pageLoaded:YES];
+ }
+ 
+ // Tests calling pushState with unicode characters.
+ - (void)testHtml5HistoryPushUnicodeCharacters {
+-  const GURL pushStateUnicodeURLEncoded = web::test::HttpServer::MakeUrl(
+-      "http://ios/testing/data/http_server_files/";
+-      "history.html#unicode%E1%84%91");
+-  const GURL pushStateUnicode2URLEncoded = web::test::HttpServer::MakeUrl(
+-      "http://ios/testing/data/http_server_files/";
+-      "history.html#unicode2%E2%88%A2");
++  // The GURL object %-escapes Unicode characters in the URL's fragment,
++  // but the omnibox decodes them back to Unicode for display.
++  std::string pushStateUnicode =
++      web::test::HttpServer::MakeUrl(
++          "http://ios/testing/data/http_server_files/";
++          "history.html#unicode")
++          .GetContent() +
++      "\xe1\x84\x91";
++  std::string pushStateUnicode2 =
++      web::test::HttpServer::MakeUrl(
++          "http://ios/testing/data/http_server_files/";
++          "history.html#unicode2")
++          .GetContent() +
++      "\xe2\x88\xa2";
+   const char pushStateUnicodeLabel[] = "Action: pushStateUnicodeᄑ";
+   NSString* pushStateUnicodeStatus = @"pushStateUnicodeᄑ";
+   const char pushStateUnicode2Label[] = "Action: pushStateUnicode2∢";
+@@ -242,21 +260,16 @@ const char* kReplaceStateRootPathSpaceURL = 
"http://ios/rep lace";
+   web::test::SetUpFileBasedHttpServer();
+   [ChromeEarlGrey loadURL:web::test::HttpServer::MakeUrl(kHistoryTestUrl)];
+ 
+-  // TODO(crbug.com/643458): The fact that the URL shows %-escaped is due to
+-  // NSURL escaping to make UIWebView/JS happy. See if it's possible to
+-  // represent differently such that it displays unescaped.
+   // Do 2 push states with unicode characters.
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateUnicode"];
+   [[EarlGrey
+-      selectElementWithMatcher:chrome_test_util::OmniboxText(
+-                                   pushStateUnicodeURLEncoded.GetContent())]
++      
selectElementWithMatcher:chrome_test_util::OmniboxText(pushStateUnicode)]
+       assertWithMatcher:grey_notNil()];
+   [ChromeEarlGrey waitForWebViewContainingText:pushStateUnicodeLabel];
+ 
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateUnicode2"];
+   [[EarlGrey
+-      selectElementWithMatcher:chrome_test_util::OmniboxText(
+-                                   pushStateUnicode2URLEncoded.GetContent())]
++      
selectElementWithMatcher:chrome_test_util::OmniboxText(pushStateUnicode2)]
+       assertWithMatcher:grey_notNil()];
+   [ChromeEarlGrey waitForWebViewContainingText:pushStateUnicode2Label];
+ 
+@@ -266,18 +279,18 @@ const char* kReplaceStateRootPathSpaceURL = 
"http://ios/rep lace";
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStatePath"];
+ 
+   [self assertStatusText:@"pushStatePath"
+-                 withURL:pushStatePathURL
++         withOmniboxText:pushStatePathURL.GetContent()
+               pageLoaded:NO];
+ 
+   // Go back and check the unicode in the URL and status.
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+   [self assertStatusText:pushStateUnicode2Status
+-                 withURL:pushStateUnicode2URLEncoded
++         withOmniboxText:pushStateUnicode2
+               pageLoaded:NO];
+ 
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+   [self assertStatusText:pushStateUnicodeStatus
+-                 withURL:pushStateUnicodeURLEncoded
++         withOmniboxText:pushStateUnicode
+               pageLoaded:NO];
+ }
+ 
+@@ -321,10 +334,11 @@ const char* kReplaceStateRootPathSpaceURL = 
"http://ios/rep lace";
+ 
+ #pragma mark - Utility methods
+ 
+-// Assert that status text |status| is displayed in the webview, that 
"onloaded"
+-// text is displayed if pageLoaded is YES, and that the URL is as expected.
++// Assert that status text |status|, if non-nil, is displayed in the webview,
++// that the omnibox text is as expected, and that "onload" text is displayed 
if
++// pageLoaded is YES.
+ - (void)assertStatusText:(NSString*)status
+-                 withURL:(const GURL&)urlToVerify
++         withOmniboxText:(const std::string&)omniboxText
+               pageLoaded:(BOOL)pageLoaded {
+   if (pageLoaded) {
+     [ChromeEarlGrey waitForWebViewContainingText:"onload"];
+@@ -332,14 +346,14 @@ const char* kReplaceStateRootPathSpaceURL = 
"http://ios/rep lace";
+     [ChromeEarlGrey waitForWebViewNotContainingText:"onload"];
+   }
+ 
+-  if (status != NULL) {
++  if (status != nil) {
+     NSString* statusLabel = [NSString stringWithFormat:@"Action: %@", status];
+     [ChromeEarlGrey
+         waitForWebViewContainingText:base::SysNSStringToUTF8(statusLabel)];
+   }
+ 
+-  [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText(
+-                                          urlToVerify.GetContent())]
++  [[EarlGrey
++      selectElementWithMatcher:chrome_test_util::OmniboxText(omniboxText)]
+       assertWithMatcher:grey_notNil()];
+ }
+ 

Deleted: chromium.desktop
===================================================================
--- chromium.desktop    2017-12-20 23:58:20 UTC (rev 313460)
+++ chromium.desktop    2017-12-21 00:08:54 UTC (rev 313461)
@@ -1,112 +0,0 @@
-[Desktop Entry]
-Name=Chromium
-# Only KDE 4 seems to use GenericName, so we reuse the KDE strings.
-# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413.
-GenericName=Web Browser
-GenericName[ar]=متصفح الشبكة
-GenericName[bg]=Уеб браузър
-GenericName[ca]=Navegador web
-GenericName[cs]=WWW prohlížeč
-GenericName[da]=Browser
-GenericName[de]=Web-Browser
-GenericName[el]=Περιηγητής ιστού
-GenericName[en_GB]=Web Browser
-GenericName[es]=Navegador web
-GenericName[et]=Veebibrauser
-GenericName[fi]=WWW-selain
-GenericName[fr]=Navigateur Web
-GenericName[gu]=વેબ બ્રાઉઝર
-GenericName[he]=דפדפן אינטרנט
-GenericName[hi]=वेब ब्राउज़र
-GenericName[hu]=Webböngésző
-GenericName[it]=Browser Web
-GenericName[ja]=ウェブブラウザ
-GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ
-GenericName[ko]=웹 브라우저
-GenericName[lt]=Žiniatinklio naršyklė
-GenericName[lv]=Tīmekļa pārlūks
-GenericName[ml]=വെബ് ബ്രൌസര്‍
-GenericName[mr]=वेब ब्राऊजर
-GenericName[nb]=Nettleser
-GenericName[nl]=Webbrowser
-GenericName[pl]=Przeglądarka WWW
-GenericName[pt]=Navegador Web
-GenericName[pt_BR]=Navegador da Internet
-GenericName[ro]=Navigator de Internet
-GenericName[ru]=Веб-браузер
-GenericName[sl]=Spletni brskalnik
-GenericName[sv]=Webbläsare
-GenericName[ta]=இணைய உலாவி
-GenericName[th]=เว็บเบราว์เซอร์
-GenericName[tr]=Web Tarayıcı
-GenericName[uk]=Навігатор Тенет
-GenericName[zh_CN]=网页浏览器
-GenericName[zh_HK]=網頁瀏覽器
-GenericName[zh_TW]=網頁瀏覽器
-# Not translated in KDE, from Epiphany 2.26.1-0ubuntu1.
-GenericName[bn]=ওয়েব ব্রাউজার
-GenericName[fil]=Web Browser
-GenericName[hr]=Web preglednik
-GenericName[id]=Browser Web
-GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର
-GenericName[sk]=WWW prehliadač
-GenericName[sr]=Интернет прегледник
-GenericName[te]=మహాతల అన్వేషి
-GenericName[vi]=Bộ duyệt Web
-# Gnome and KDE 3 uses Comment.
-Comment=Access the Internet
-Comment[ar]=الدخول إلى الإنترنت
-Comment[bg]=Достъп до интернет
-Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন
-Comment[ca]=Accedeix a Internet
-Comment[cs]=Přístup k internetu
-Comment[da]=Få adgang til internettet
-Comment[de]=Internetzugriff
-Comment[el]=Πρόσβαση στο Διαδίκτυο
-Comment[en_GB]=Access the Internet
-Comment[es]=Accede a Internet.
-Comment[et]=Pääs Internetti
-Comment[fi]=Käytä internetiä
-Comment[fil]=I-access ang Internet
-Comment[fr]=Accéder à Internet
-Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો
-Comment[he]=גישה אל האינטרנט
-Comment[hi]=इंटरनेट तक पहुंच स्थापित करें
-Comment[hr]=Pristup Internetu
-Comment[hu]=Internetelérés
-Comment[id]=Akses Internet
-Comment[it]=Accesso a Internet
-Comment[ja]=インターネットにアクセス
-Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿ
-Comment[ko]=인터넷 연결
-Comment[lt]=Interneto prieiga
-Comment[lv]=Piekļūt internetam
-Comment[ml]=ഇന്റര്‍‌നെറ്റ് ആക്‌സസ് ചെയ്യുക
-Comment[mr]=इंटरनेटमध्ये प्रवेश करा
-Comment[nb]=Gå til Internett
-Comment[nl]=Verbinding maken met internet
-Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ
-Comment[pl]=Skorzystaj z internetu
-Comment[pt]=Aceder à Internet
-Comment[pt_BR]=Acessar a internet
-Comment[ro]=Accesaţi Internetul
-Comment[ru]=Доступ в Интернет
-Comment[sk]=Prístup do siete Internet
-Comment[sl]=Dostop do interneta
-Comment[sr]=Приступите Интернету
-Comment[sv]=Gå ut på Internet
-Comment[ta]=இணையத்தை அணுகுதல்
-Comment[te]=ఇంటర్నెట్‌ను ఆక్సెస్ చెయ్యండి
-Comment[th]=เข้าถึงอินเทอร์เน็ต
-Comment[tr]=İnternet'e erişin
-Comment[uk]=Доступ до Інтернету
-Comment[vi]=Truy cập Internet
-Comment[zh_CN]=访问互联网
-Comment[zh_HK]=連線到網際網路
-Comment[zh_TW]=連線到網際網路
-Exec=chromium %U
-Terminal=false
-Icon=chromium
-Type=Application
-Categories=GTK;Network;WebBrowser;
-MimeType=text/html;text/xml;application/xhtml+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;

Reply via email to