| Index: base/win/win_util.cc
 | 
| diff --git a/base/win/win_util.cc b/base/win/win_util.cc
 | 
| index 75f1e53c1416c86b4accc7f87bf4733fa6c4a85b..e0d0de1b418866d960598d3f983fb4e24b5df298 100644
 | 
| --- a/base/win/win_util.cc
 | 
| +++ b/base/win/win_util.cc
 | 
| @@ -8,8 +8,6 @@
 | 
|  #include <cfgmgr32.h>
 | 
|  #include <lm.h>
 | 
|  #include <powrprof.h>
 | 
| -#include <shellapi.h>
 | 
| -#include <shlobj.h>
 | 
|  #include <shobjidl.h>  // Must be before propkey.
 | 
|  #include <initguid.h>
 | 
|  #include <inspectable.h>
 | 
| @@ -41,7 +39,6 @@
 | 
|  #include "base/strings/utf_string_conversions.h"
 | 
|  #include "base/threading/thread_restrictions.h"
 | 
|  #include "base/win/registry.h"
 | 
| -#include "base/win/scoped_co_mem.h"
 | 
|  #include "base/win/scoped_comptr.h"
 | 
|  #include "base/win/scoped_handle.h"
 | 
|  #include "base/win/scoped_propvariant.h"
 | 
| @@ -107,10 +104,6 @@ class LazyIsUser32AndGdi32Available {
 | 
|    DISALLOW_COPY_AND_ASSIGN(LazyIsUser32AndGdi32Available);
 | 
|  };
 | 
|  
 | 
| -const wchar_t kWindows8OSKRegPath[] =
 | 
| -    L"Software\\Classes\\CLSID\\{054AAE20-4BEA-4347-8A35-64A533254A9D}"
 | 
| -    L"\\LocalServer32";
 | 
| -
 | 
|  // Returns the current platform role. We use the PowerDeterminePlatformRoleEx
 | 
|  // API for that.
 | 
|  POWER_PLATFORM_ROLE GetPlatformRole() {
 | 
| @@ -525,102 +518,6 @@ bool IsTabletDevice(std::string* reason) {
 | 
|    return is_tablet;
 | 
|  }
 | 
|  
 | 
| -bool DisplayVirtualKeyboard() {
 | 
| -  if (GetVersion() < VERSION_WIN8)
 | 
| -    return false;
 | 
| -
 | 
| -  if (IsKeyboardPresentOnSlate(nullptr))
 | 
| -    return false;
 | 
| -
 | 
| -  static LazyInstance<string16>::Leaky osk_path = LAZY_INSTANCE_INITIALIZER;
 | 
| -
 | 
| -  if (osk_path.Get().empty()) {
 | 
| -    // We need to launch TabTip.exe from the location specified under the
 | 
| -    // LocalServer32 key for the {{054AAE20-4BEA-4347-8A35-64A533254A9D}}
 | 
| -    // CLSID.
 | 
| -    // TabTip.exe is typically found at
 | 
| -    // c:\program files\common files\microsoft shared\ink on English Windows.
 | 
| -    // We don't want to launch TabTip.exe from
 | 
| -    // c:\program files (x86)\common files\microsoft shared\ink. This path is
 | 
| -    // normally found on 64 bit Windows.
 | 
| -    RegKey key(HKEY_LOCAL_MACHINE, kWindows8OSKRegPath,
 | 
| -               KEY_READ | KEY_WOW64_64KEY);
 | 
| -    DWORD osk_path_length = 1024;
 | 
| -    if (key.ReadValue(NULL,
 | 
| -                      WriteInto(&osk_path.Get(), osk_path_length),
 | 
| -                      &osk_path_length,
 | 
| -                      NULL) != ERROR_SUCCESS) {
 | 
| -      DLOG(WARNING) << "Failed to read on screen keyboard path from registry";
 | 
| -      return false;
 | 
| -    }
 | 
| -    size_t common_program_files_offset =
 | 
| -        osk_path.Get().find(L"%CommonProgramFiles%");
 | 
| -    // Typically the path to TabTip.exe read from the registry will start with
 | 
| -    // %CommonProgramFiles% which needs to be replaced with the corrsponding
 | 
| -    // expanded string.
 | 
| -    // If the path does not begin with %CommonProgramFiles% we use it as is.
 | 
| -    if (common_program_files_offset != string16::npos) {
 | 
| -      // Preserve the beginning quote in the path.
 | 
| -      osk_path.Get().erase(common_program_files_offset,
 | 
| -                           wcslen(L"%CommonProgramFiles%"));
 | 
| -      // The path read from the registry contains the %CommonProgramFiles%
 | 
| -      // environment variable prefix. On 64 bit Windows the SHGetKnownFolderPath
 | 
| -      // function returns the common program files path with the X86 suffix for
 | 
| -      // the FOLDERID_ProgramFilesCommon value.
 | 
| -      // To get the correct path to TabTip.exe we first read the environment
 | 
| -      // variable CommonProgramW6432 which points to the desired common
 | 
| -      // files path. Failing that we fallback to the SHGetKnownFolderPath API.
 | 
| -
 | 
| -      // We then replace the %CommonProgramFiles% value with the actual common
 | 
| -      // files path found in the process.
 | 
| -      string16 common_program_files_path;
 | 
| -      std::unique_ptr<wchar_t[]> common_program_files_wow6432;
 | 
| -      DWORD buffer_size =
 | 
| -          GetEnvironmentVariable(L"CommonProgramW6432", NULL, 0);
 | 
| -      if (buffer_size) {
 | 
| -        common_program_files_wow6432.reset(new wchar_t[buffer_size]);
 | 
| -        GetEnvironmentVariable(L"CommonProgramW6432",
 | 
| -                               common_program_files_wow6432.get(),
 | 
| -                               buffer_size);
 | 
| -        common_program_files_path = common_program_files_wow6432.get();
 | 
| -        DCHECK(!common_program_files_path.empty());
 | 
| -      } else {
 | 
| -        ScopedCoMem<wchar_t> common_program_files;
 | 
| -        if (FAILED(SHGetKnownFolderPath(FOLDERID_ProgramFilesCommon, 0, NULL,
 | 
| -                                        &common_program_files))) {
 | 
| -          return false;
 | 
| -        }
 | 
| -        common_program_files_path = common_program_files;
 | 
| -      }
 | 
| -
 | 
| -      osk_path.Get().insert(1, common_program_files_path);
 | 
| -    }
 | 
| -  }
 | 
| -
 | 
| -  HINSTANCE ret = ::ShellExecuteW(NULL,
 | 
| -                                  L"",
 | 
| -                                  osk_path.Get().c_str(),
 | 
| -                                  NULL,
 | 
| -                                  NULL,
 | 
| -                                  SW_SHOW);
 | 
| -  return reinterpret_cast<intptr_t>(ret) > 32;
 | 
| -}
 | 
| -
 | 
| -bool DismissVirtualKeyboard() {
 | 
| -  if (GetVersion() < VERSION_WIN8)
 | 
| -    return false;
 | 
| -
 | 
| -  // We dismiss the virtual keyboard by generating the ESC keystroke
 | 
| -  // programmatically.
 | 
| -  const wchar_t kOSKClassName[] = L"IPTip_Main_Window";
 | 
| -  HWND osk = ::FindWindow(kOSKClassName, NULL);
 | 
| -  if (::IsWindow(osk) && ::IsWindowEnabled(osk)) {
 | 
| -    PostMessage(osk, WM_SYSCOMMAND, SC_CLOSE, 0);
 | 
| -    return true;
 | 
| -  }
 | 
| -  return false;
 | 
| -}
 | 
| -
 | 
|  enum DomainEnrollementState {UNKNOWN = -1, NOT_ENROLLED, ENROLLED};
 | 
|  static volatile long int g_domain_state = UNKNOWN;
 | 
|  
 | 
| 
 |