[OsSettingsLanguages] Update search field look

Spec: http://go/cros-lang-settings-figma

Change device language: http://screen/5tJTJeKbQqqPLBb
Add languages: http://screen/A4KkBzEiSFdTzJM
Add input methods: http://screen/7ukfaWuZv4fJMpv

Border-radius of the underline is not yet updated.

Bug: 1113437
Change-Id: Ie4c9828a2ed71ba3b67aef89bbe848c2c5237756
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2436969
Reviewed-by: Regan Hsu <hsuregan@chromium.org>
Reviewed-by: Kyle Horimoto <khorimoto@chromium.org>
Commit-Queue: My Nguyen <myy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#811608}
diff --git a/chrome/browser/resources/settings/chromeos/os_languages_page/BUILD.gn b/chrome/browser/resources/settings/chromeos/os_languages_page/BUILD.gn
index 786172c9..12a0d76 100644
--- a/chrome/browser/resources/settings/chromeos/os_languages_page/BUILD.gn
+++ b/chrome/browser/resources/settings/chromeos/os_languages_page/BUILD.gn
@@ -371,6 +371,7 @@
     ":os_languages_page_module",
     ":os_languages_page_v2_module",
     ":os_languages_section_module",
+    ":shared_style_module",
     ":smart_inputs_page_module",
     "../../languages_page:languages_module",
     "../../languages_page:modulize",
@@ -467,6 +468,12 @@
   auto_imports = os_settings_auto_imports
 }
 
+polymer_modulizer("shared_style") {
+  js_file = "shared_style.m.js"
+  html_file = "shared_style.html"
+  html_type = "style-module"
+}
+
 polymer_modulizer("smart_inputs_page") {
   js_file = "smart_inputs_page.js"
   html_file = "smart_inputs_page.html"
diff --git a/chrome/browser/resources/settings/chromeos/os_languages_page/add_input_methods_dialog.html b/chrome/browser/resources/settings/chromeos/os_languages_page/add_input_methods_dialog.html
index 42fd0fb..86ca8b04 100644
--- a/chrome/browser/resources/settings/chromeos/os_languages_page/add_input_methods_dialog.html
+++ b/chrome/browser/resources/settings/chromeos/os_languages_page/add_input_methods_dialog.html
@@ -7,12 +7,13 @@
 <link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout-classes.html">
 <link rel="import" href="chrome://resources/polymer/v1_0/iron-list/iron-list.html">
 <link rel="import" href="../metrics_recorder.html">
+<link rel="import" href="shared_style.html">
 <link rel="import" href="../../languages_page/languages.html">
 <link rel="import" href="../../settings_shared_css.html">
 
 <dom-module id="os-settings-add-input-methods-dialog">
   <template>
-    <style include="settings-shared iron-flex">
+    <style include="settings-shared iron-flex shared-style">
       #dialogBody {
         display: flex;
         flex-direction: column;
@@ -22,9 +23,7 @@
       }
 
       cr-search-field {
-        --cr-search-field-search-input-width: 100%;
-        padding-bottom: 8px;
-        padding-inline-end: 20px;
+        margin-bottom: 8px;
       }
 
       .label {
diff --git a/chrome/browser/resources/settings/chromeos/os_languages_page/change_device_language_dialog.html b/chrome/browser/resources/settings/chromeos/os_languages_page/change_device_language_dialog.html
index bfe7d76f..5ed12e2 100644
--- a/chrome/browser/resources/settings/chromeos/os_languages_page/change_device_language_dialog.html
+++ b/chrome/browser/resources/settings/chromeos/os_languages_page/change_device_language_dialog.html
@@ -10,6 +10,7 @@
 <link rel="import" href="chrome://resources/polymer/v1_0/iron-list/iron-list.html">
 <link rel="import" href="chrome://resources/polymer/v1_0/paper-ripple/paper-ripple.html">
 <link rel="import" href="languages_metrics_proxy.html">
+<link rel="import" href="shared_style.html">
 <link rel="import" href="../localized_link/localized_link.html">
 <link rel="import" href="../metrics_recorder.html">
 <link rel="import" href="../../languages_page/languages.html">
@@ -18,7 +19,7 @@
 
 <dom-module id="os-settings-change-device-language-dialog">
   <template>
-    <style include="settings-shared iron-flex">
+    <style include="settings-shared iron-flex shared-style">
       #dialogBody {
         display: flex;
         flex-direction: column;
@@ -30,6 +31,7 @@
 
       cr-search-field {
         margin-bottom: 16px;
+        margin-inline-start: 20px;
         margin-top: 16px;
       }
 
@@ -71,7 +73,7 @@
             localized-string="[[i18nAdvanced(
                 'changeDeviceLanguageDialogDescription')]]">
         </settings-localized-link>
-        <cr-search-field class="padded" label="$i18n{searchLanguages}"
+        <cr-search-field label="$i18n{searchLanguages}"
             id="search" on-search-changed="onSearchChanged_"
             clear-label="$i18n{clearSearch}" on-keydown="onKeydown_" autofocus>
         </cr-search-field>
diff --git a/chrome/browser/resources/settings/chromeos/os_languages_page/os_add_languages_dialog.html b/chrome/browser/resources/settings/chromeos/os_languages_page/os_add_languages_dialog.html
index 61d14f5..9ad3af03b 100644
--- a/chrome/browser/resources/settings/chromeos/os_languages_page/os_add_languages_dialog.html
+++ b/chrome/browser/resources/settings/chromeos/os_languages_page/os_add_languages_dialog.html
@@ -7,13 +7,15 @@
 <link rel="import" href="chrome://resources/cr_elements/cr_dialog/cr_dialog.html">
 <link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
 <link rel="import" href="chrome://resources/html/find_shortcut_behavior.html">
+<link rel="import" href="chrome://resources/html/load_time_data.html">
 <link rel="import" href="chrome://resources/polymer/v1_0/iron-list/iron-list.html">
+<link rel="import" href="shared_style.html">
 <link rel="import" href="../../languages_page/languages.html">
 <link rel="import" href="../../settings_shared_css.html">
 
 <dom-module id="os-settings-add-languages-dialog">
   <template>
-    <style include="settings-shared">
+    <style include="settings-shared shared-style">
       #dialog-body {
         display: flex;
         flex-direction: column;
@@ -23,21 +25,20 @@
       }
 
       cr-search-field {
-        padding-inline-end: 24px;
+        margin-bottom: 16px;
       }
 
       iron-list {
         flex: 1;
       }
 
-      .ripple-padding {
-        /* Create a little extra space for checkbox ink ripple to flow into. */
-        padding-inline-start: 20px;
-      }
-
       cr-checkbox::part(label-container) {
         white-space: nowrap;
       }
+
+      .list-item {
+        min-height: 36px;
+      }
     </style>
     <cr-dialog id="dialog" close-text="$i18n{close}">
       <div slot="title">$i18n{addLanguagesDialogTitle}</div>
@@ -46,7 +47,7 @@
             on-search-changed="onSearchChanged_" on-keydown="onKeydown_"
             clear-label="$i18n{clearSearch}" autofocus>
         </cr-search-field>
-        <iron-list class="ripple-padding" scroll-target="[[$$('[slot=body]')]]"
+        <iron-list scroll-target="[[$$('[slot=body]')]]"
             items="[[getLanguages_(
                 languages.supported, languages.enabled.*, filterValue_)]]">
           <template>
diff --git a/chrome/browser/resources/settings/chromeos/os_languages_page/shared_style.html b/chrome/browser/resources/settings/chromeos/os_languages_page/shared_style.html
new file mode 100644
index 0000000..4955abf
--- /dev/null
+++ b/chrome/browser/resources/settings/chromeos/os_languages_page/shared_style.html
@@ -0,0 +1,26 @@
+
+<!-- Common styles for 'Languages and inputs' section. -->
+<dom-module id="shared-style">
+  <template>
+    <style>
+      cr-search-field {
+        --cr-search-field-clear-icon-fill: var(--cros-icon-color-secondary);
+        --cr-search-field-clear-icon-margin-end: 8px;
+        --cr-search-field-clear-icon-size: 18px;
+        --cr-search-field-input-border-bottom: none;
+        --cr-search-field-input-min-height: 32px;
+        --cr-search-field-input-padding-bottom: 0;
+        --cr-search-field-input-padding-start: 8px;
+        --cr-search-field-input-padding-top: 0;
+        --cr-search-field-input-width: 100%;
+        --cr-search-field-search-icon-display: none;
+        --cr-search-field-search-icon-fill: var(--cros-icon-color-secondary);
+        --cr-search-field-search-icon-inline-display: block;
+        --cr-search-field-search-icon-inline-margin-start: 6px;
+        background-color: var(--google-grey-100);
+        border-radius: 4px;
+        margin-inline-end: 20px;
+      }
+    </style>
+  </template>
+</dom-module>
\ No newline at end of file
diff --git a/chrome/browser/resources/settings/chromeos/os_settings_resources_v3.grdp b/chrome/browser/resources/settings/chromeos/os_settings_resources_v3.grdp
index de2f3d8e4..bc2d741 100644
--- a/chrome/browser/resources/settings/chromeos/os_settings_resources_v3.grdp
+++ b/chrome/browser/resources/settings/chromeos/os_settings_resources_v3.grdp
@@ -209,6 +209,11 @@
            use_base_dir="false"
            compress="false"
            type="BINDATA" />
+  <include name="IDR_OS_SETTINGS_LANGUAGES_PAGE_SHARED_STYLE_M_JS"
+           file="${root_gen_dir}/chrome/browser/resources/settings/chromeos/os_languages_page/shared_style.m.js"
+           use_base_dir="false"
+           compress="false"
+           type="BINDATA" />
   <include name="IDR_OS_SETTINGS_LANGUAGES_PAGE_SMART_INPUTS_PAGE_M_JS"
            file="${root_gen_dir}/chrome/browser/resources/settings/chromeos/os_languages_page/smart_inputs_page.m.js"
            use_base_dir="false"
diff --git a/chrome/browser/resources/settings/os_settings_resources.grd b/chrome/browser/resources/settings/os_settings_resources.grd
index 0e5d673d..f83bf32 100644
--- a/chrome/browser/resources/settings/os_settings_resources.grd
+++ b/chrome/browser/resources/settings/os_settings_resources.grd
@@ -779,6 +779,9 @@
       <structure name="IDR_OS_SETTINGS_LANGUAGES_INPUT_METHOD_UTIL_JS"
                  file="chromeos/os_languages_page/input_method_util.js"
                  compress="false" type="chrome_html" />
+      <structure name="IDR_OS_SETTINGS_LANGUAGES_SHARED_STYLE_HTML"
+                 file="chromeos/os_languages_page/shared_style.html"
+                 compress="false" type="chrome_html" />
       <structure name="IDR_OS_SETTINGS_LANGUAGES_SMART_INPUTS_PAGE_HTML"
                  file="chromeos/os_languages_page/smart_inputs_page.html"
                  compress="false" type="chrome_html" />
diff --git a/ui/webui/resources/cr_elements/cr_search_field/cr_search_field.html b/ui/webui/resources/cr_elements/cr_search_field/cr_search_field.html
index 11763c5..373e581 100644
--- a/ui/webui/resources/cr_elements/cr_search_field/cr_search_field.html
+++ b/ui/webui/resources/cr_elements/cr_search_field/cr_search_field.html
@@ -14,31 +14,39 @@
       :host {
         display: flex;
         user-select: none;
+        --cr-search-field-input-border-bottom: 1px solid var(--cr-secondary-text-color);
       }
 
       #searchIcon {
         align-self: center;
+        display: var(--cr-search-field-search-icon-display, inherit);
         height: 16px;
         padding: 4px;
         vertical-align: middle;
         width: 16px;
       }
 
+      #searchIconInline {
+        --iron-icon-fill-color: var(--cr-search-field-search-icon-fill, inherit);
+        display: var(--cr-search-field-search-icon-inline-display, none);
+        margin-inline-start: var(--cr-search-field-search-icon-inline-margin-start, 0);
+      }
+
       #searchInput {
         --cr-input-background-color: transparent;
-        --cr-input-border-bottom: 1px solid var(--cr-secondary-text-color);
+        --cr-input-border-bottom: var(--cr-search-field-input-border-bottom);
         --cr-input-border-radius: 0;
         --cr-input-error-display: none;
-        --cr-input-min-height: 24px;
+        --cr-input-min-height: var(--cr-search-field-input-min-height, 24px);
         --cr-input-padding-end: 0;
-        --cr-input-padding-start: 0;
-        --cr-input-padding-bottom: 2px;
-        --cr-input-padding-top: 2px;
+        --cr-input-padding-start: var(--cr-search-field-input-padding-start, 0);
+        --cr-input-padding-bottom: var(--cr-search-field-input-padding-bottom, 2px);
+        --cr-input-padding-top: var(--cr-search-field-input-padding-top, 2px);
         align-self: stretch;
         color: var(--cr-primary-text-color);
         display: block;
         font-size: 92.3076923%;  /* To 12px from 13px. */
-        width: var(--cr-search-field-search-input-width, 160px);
+        width: var(--cr-search-field-input-width, 160px);
       }
 
       :host([has-search-text]) #searchInput {
@@ -47,9 +55,10 @@
 
       #clearSearch {
         /* A 16px icon that fits on the input line. */
-        --cr-icon-button-icon-size: 16px;
+        --cr-icon-button-fill-color: var(--cr-search-field-clear-icon-fill, inherit);
+        --cr-icon-button-icon-size: var(--cr-search-field-clear-icon-size, 16px);
         --cr-icon-button-size: 24px;
-        margin-inline-end: -4px;
+        margin-inline-end: var(--cr-search-field-clear-icon-margin-end, -4px);
         margin-inline-start: 4px;
         position: absolute;
         right: 0;
@@ -64,6 +73,7 @@
     <cr-input id="searchInput" on-search="onSearchTermSearch"
         on-input="onSearchTermInput" aria-label$="[[label]]" type="search"
         autofocus="[[autofocus]]" placeholder="[[label]]" spellcheck="false">
+      <iron-icon id="searchIconInline" slot="inline-prefix" icon="cr:search"></iron-icon>
       <cr-icon-button id="clearSearch" class="icon-cancel"
           hidden$="[[!hasSearchText]]" slot="suffix" on-click="onTapClear_"
           title="[[clearLabel]]">