| Index: cloud_print/virtual_driver/win/port_monitor/port_monitor.cc
 | 
| diff --git a/cloud_print/virtual_driver/win/port_monitor/port_monitor.cc b/cloud_print/virtual_driver/win/port_monitor/port_monitor.cc
 | 
| index 335b6a8442b6244711277d9136f04428907b4f78..dc46b95d75f60ed290b4e779d7cecb51e65d114a 100644
 | 
| --- a/cloud_print/virtual_driver/win/port_monitor/port_monitor.cc
 | 
| +++ b/cloud_print/virtual_driver/win/port_monitor/port_monitor.cc
 | 
| @@ -30,17 +30,15 @@
 | 
|  
 | 
|  namespace cloud_print {
 | 
|  
 | 
| -#ifndef UNIT_TEST
 | 
| -const wchar_t kChromeExePath[] = L"google\\chrome\\application\\chrome.exe";
 | 
| -const wchar_t kChromePathRegValue[] = L"PathToChromeExe";
 | 
| -#endif
 | 
| +namespace {
 | 
| +
 | 
|  const wchar_t kIePath[] = L"Internet Explorer\\iexplore.exe";
 | 
| +
 | 
|  const char kChromeInstallUrl[] =
 | 
|      "http://google.com/cloudprint/learn/chrome.html";
 | 
|  
 | 
|  const wchar_t kChromePathRegKey[] = L"Software\\Google\\CloudPrint";
 | 
|  
 | 
| -namespace {
 | 
|  const wchar_t kXpsMimeType[] = L"application/vnd.ms-xpsdocument";
 | 
|  
 | 
|  const size_t kMaxCommandLineLen = 0x7FFF;
 | 
| @@ -91,36 +89,6 @@ MONITOR2 g_monitor_2 = {
 | 
|    Monitor2Shutdown
 | 
|  };
 | 
|  
 | 
| -// Returns true if Xps support is installed.
 | 
| -bool XpsIsInstalled() {
 | 
| -  FilePath xps_path;
 | 
| -  if (!SUCCEEDED(GetPrinterDriverDir(&xps_path))) {
 | 
| -    return false;
 | 
| -  }
 | 
| -  xps_path = xps_path.Append(L"mxdwdrv.dll");
 | 
| -  if (!file_util::PathExists(xps_path)) {
 | 
| -    return false;
 | 
| -  }
 | 
| -  return true;
 | 
| -}
 | 
| -
 | 
| -// Returns true if registration/unregistration can be attempted.
 | 
| -bool CanRegister() {
 | 
| -  if (!XpsIsInstalled()) {
 | 
| -    return false;
 | 
| -  }
 | 
| -  if (base::win::GetVersion() >= base::win::VERSION_VISTA) {
 | 
| -    base::IntegrityLevel level = base::INTEGRITY_UNKNOWN;
 | 
| -    if (!GetProcessIntegrityLevel(base::GetCurrentProcessHandle(), &level)) {
 | 
| -      return false;
 | 
| -    }
 | 
| -    if (level != base::HIGH_INTEGRITY) {
 | 
| -      return false;
 | 
| -    }
 | 
| -  }
 | 
| -  return true;
 | 
| -}
 | 
| -
 | 
|  // Frees any objects referenced by port_data and sets pointers to NULL.
 | 
|  void CleanupPortData(PortData* port_data) {
 | 
|    delete port_data->file_path;
 | 
| @@ -234,8 +202,8 @@ bool LaunchPrintDialog(const string16& xps_path,
 | 
|  // rather than the generic chrome download page.  See
 | 
|  // http://code.google.com/p/chromium/issues/detail?id=112019
 | 
|  void LaunchChromeDownloadPage() {
 | 
| -// Probably best to NOT launch IE from a unit test.
 | 
| -#ifndef UNIT_TEST
 | 
| +  if (kIsUnittest)
 | 
| +    return;
 | 
|    HANDLE token = NULL;
 | 
|    if (!GetUserToken(&token)) {
 | 
|      LOG(ERROR) << "Unable to get user token.";
 | 
| @@ -252,7 +220,6 @@ void LaunchChromeDownloadPage() {
 | 
|    base::LaunchOptions options;
 | 
|    options.as_user = token_scoped;
 | 
|    base::LaunchProcess(command_line, options, NULL);
 | 
| -#endif
 | 
|  }
 | 
|  
 | 
|  // Returns false if the print job is being run in a context
 | 
| @@ -653,33 +620,3 @@ MONITORUI* WINAPI InitializePrintMonitorUI(void) {
 | 
|    return &cloud_print::g_monitor_ui;
 | 
|  }
 | 
|  
 | 
| -HRESULT WINAPI DllRegisterServer(void) {
 | 
| -  base::AtExitManager at_exit_manager;
 | 
| -  if (!cloud_print::CanRegister()) {
 | 
| -    return E_ACCESSDENIED;
 | 
| -  }
 | 
| -  MONITOR_INFO_2 monitor_info = {0};
 | 
| -  // YUCK!!!  I can either copy the constant, const_cast, or define my own
 | 
| -  // MONITOR_INFO_2 that will take const strings.
 | 
| -  FilePath dll_path(cloud_print::GetPortMonitorDllName());
 | 
| -  monitor_info.pDLLName = const_cast<LPWSTR>(dll_path.value().c_str());
 | 
| -  monitor_info.pName = const_cast<LPWSTR>(dll_path.value().c_str());
 | 
| -  if (AddMonitor(NULL, 2, reinterpret_cast<BYTE*>(&monitor_info))) {
 | 
| -    return S_OK;
 | 
| -  }
 | 
| -  return cloud_print::GetLastHResult();
 | 
| -}
 | 
| -
 | 
| -HRESULT WINAPI DllUnregisterServer(void) {
 | 
| -  base::AtExitManager at_exit_manager;
 | 
| -  if (!cloud_print::CanRegister()) {
 | 
| -    return E_ACCESSDENIED;
 | 
| -  }
 | 
| -  FilePath dll_path(cloud_print::GetPortMonitorDllName());
 | 
| -  if (DeleteMonitor(NULL,
 | 
| -                    NULL,
 | 
| -                    const_cast<LPWSTR>(dll_path.value().c_str()))) {
 | 
| -    return S_OK;
 | 
| -  }
 | 
| -  return cloud_print::GetLastHResult();
 | 
| -}
 | 
| 
 |