  #if defined(USE_ASH)
  #include "chrome/browser/ui/ash/ash_init.h"
  #endif  // defined(USE_ASH)
-@@ -97,6 +101,9 @@ void ChromeBrowserMainExtraPartsAura::PreEarlyInitialization() {
-     // TODO(erg): Eventually, we'll need to somehow support IMEs in ash on
-     // Linux.
+@@ -99,6 +103,10 @@ void ChromeBrowserMainExtraPartsAura::PreEarlyInitialization() {
      ui::InitializeInputMethodForTesting();
+   }
+ #endif
++
 +#if defined(OS_LINUX) && defined(USE_OZONE)
 +    views::LinuxUI::SetInstance(BuildWebUI());
 +#endif
-   }
- #endif
  }
+ 
+ void ChromeBrowserMainExtraPartsAura::ToolkitInitialized() {
 diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
 index 9a0c2c0..af7f107 100644
 --- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc

+document.addEventListener('DOMContentLoaded',
+                          filePicker.initialize);
diff --git a/chrome/browser/ui/aura/chrome_browser_main_extra_parts_aura.cc b/chrome/browser/ui/aura/chrome_browser_main_extra_parts_aura.cc
index c0cd472..66e2e53 100644
--- a/chrome/browser/ui/aura/chrome_browser_main_extra_parts_aura.cc
+++ b/chrome/browser/ui/aura/chrome_browser_main_extra_parts_aura.cc
@@ -19,17 +19,21 @@

 .../browser/resources/file_picker/file_picker.css  |   72 +++++++++
 .../browser/resources/file_picker/file_picker.html |   37 +++++
 .../browser/resources/file_picker/file_picker.js   |   51 ++++++
 .../aura/chrome_browser_main_extra_parts_aura.cc   |   12 +-
 .../ui/webui/chrome_web_ui_controller_factory.cc   |    5 +
 .../browser/ui/webui/file_picker/file_picker_ui.cc |   47 ++++++
 .../browser/ui/webui/file_picker/file_picker_ui.h  |   24 +++
