Show Network Error Screen on Server Errors in Initial Enrollment

If a Server Error (e.g. HTTP 500) is encountered during the Initial
Enrollment exchange, show a network error screen instead of proceeding
without enrollment.
Also, refactor AutoEnrollmentClient to support a fake implementation
(FakeAutoEnrollmentClient). The test can make AutoEnrollmentController
use the fake by setting a factory for testing.

BUG=839353
Test=browser_tests --gtest_filter=WizardControllerDeviceState*

Change-Id: I6ef18f093ba26a1ccbb91221a4d504aac8a6f286
Reviewed-on: https://chromium-review.googlesource.com/1065821
Commit-Queue: Pavol Marko <[email protected]>
Reviewed-by: Gabriel Charette <[email protected]>
Reviewed-by: Xiyuan Xia <[email protected]>
Reviewed-by: Maksim Ivanov <[email protected]>
Cr-Commit-Position: refs/heads/master@{#561098}
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index f146a0c..7964083 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -227,7 +227,7 @@
 #include "chrome/browser/chromeos/platform_keys/key_permissions.h"
 #include "chrome/browser/chromeos/policy/app_install_event_log_manager_wrapper.h"
 #include "chrome/browser/chromeos/policy/app_install_event_logger.h"
-#include "chrome/browser/chromeos/policy/auto_enrollment_client.h"
+#include "chrome/browser/chromeos/policy/auto_enrollment_client_impl.h"
 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
 #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h"
 #include "chrome/browser/chromeos/policy/device_status_collector.h"
@@ -445,7 +445,7 @@
       registry);
   invalidation::InvalidatorStorage::RegisterPrefs(registry);
   ::onc::RegisterPrefs(registry);
-  policy::AutoEnrollmentClient::RegisterPrefs(registry);
+  policy::AutoEnrollmentClientImpl::RegisterPrefs(registry);
   policy::BrowserPolicyConnectorChromeOS::RegisterPrefs(registry);
   policy::DeviceCloudPolicyManagerChromeOS::RegisterPrefs(registry);
   policy::DeviceStatusCollector::RegisterPrefs(registry);