Fix platform_viewport_x11 so that window is initially shown

BUG=
R=jamesr@chromium.org

Review URL: https://codereview.chromium.org/1311583003 .
diff --git a/mojo/services/native_viewport/public/interfaces/native_viewport.mojom b/mojo/services/native_viewport/public/interfaces/native_viewport.mojom
index ab1506e..40036c6 100644
--- a/mojo/services/native_viewport/public/interfaces/native_viewport.mojom
+++ b/mojo/services/native_viewport/public/interfaces/native_viewport.mojom
@@ -26,6 +26,7 @@
 interface NativeViewport {
   // TODO(sky): having a create function is awkward. Should there be a factory
   // to create the NativeViewport that takes the size?
+  // When the viewport is created it is initially shown.
   Create(Size size, SurfaceConfiguration? requested_configuration) => (ViewportMetrics metrics);
 
   Show();
diff --git a/services/native_viewport/platform_viewport_x11.cc b/services/native_viewport/platform_viewport_x11.cc
index d452150..c77f413 100644
--- a/services/native_viewport/platform_viewport_x11.cc
+++ b/services/native_viewport/platform_viewport_x11.cc
@@ -54,6 +54,9 @@
 
     platform_window_.reset(new ui::X11Window(this));
     platform_window_->SetBounds(bounds);
+
+    // X11 window isn't created until explicitly shown
+    Show();
   }
 
   void Show() override { platform_window_->Show(); }