kiosk: Network connectivity test during launch.

- Add NetworkStateInformer and ErrorScreenActor to
  AppLaunchSplashScreenHandler;
- AppLaunchSplashScreenHandler sends network state
  to its delegate (AppLaunchController) during network
  check;
- AppLaunchController decides when to show network
  configure UI and call AppLaunchSplashScreenActor
  to show it (via ErrorScreenActor);
- Show network config UI for enterprise kiosk;
- Add a 'Reboot' button for kiosk network error;
- Add a PromptForNetworkWhenOffline boolean field to
  DeviceLocalAccountsProto to control whether to show
  network config UI for enterprise managed kiosk;

BUG=314710
TEST=KioskTest.LaunchAppNetworkDown/Portal

Review URL: https://codereview.chromium.org/79113002

git-svn-id: http://src.chromium.org/svn/trunk/src/chrome/browser/policy/proto@238873 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
diff --git a/chromeos/chrome_device_policy.proto b/chromeos/chrome_device_policy.proto
index 911866b..b841f1f 100644
--- a/chromeos/chrome_device_policy.proto
+++ b/chromeos/chrome_device_policy.proto
@@ -313,9 +313,19 @@
 
   // Whether the keyboard shortcut to prevent zero-delay auto-login should be
   // enabled or not. If this keyboard shortcut is engaged, the auto-login will
-  // be delayed by 3 minutes so administrators can log in or make configuration
+  // be delayed by 3 seconds so administrators can log in or make configuration
   // changes.
   optional bool enable_auto_login_bailout = 4 [default = true];
+
+  // Whether network configuration should be offered or not when the device
+  // does not have access to the Internet. If the policy is omitted or set to
+  // true, the network configuration will be offered. Otherwise, only an error
+  // message is displayed.
+  // Note: If both this policy and enable_auto_login_bailout policy above is
+  // set to false, there are chances that the device might become totally
+  // unusable when there is no Internet access and has to go through the
+  // recovery process.
+  optional bool prompt_for_network_when_offline = 5 [default = true];
 }
 
 message AllowRedeemChromeOsRegistrationOffersProto {