| 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();
|
| -}
|
|
|