| Index: base/message_loop/message_pump_win.cc
 | 
| diff --git a/base/message_loop/message_pump_win.cc b/base/message_loop/message_pump_win.cc
 | 
| index 04bc3ceab2b8009e48708a16a308b5195bf27c10..53df341e5fce09a65ed087837db2bacc2aa7b8f6 100644
 | 
| --- a/base/message_loop/message_pump_win.cc
 | 
| +++ b/base/message_loop/message_pump_win.cc
 | 
| @@ -28,85 +28,6 @@
 | 
|    MESSAGE_LOOP_PROBLEM_MAX,
 | 
|  };
 | 
|  
 | 
| -// The following define pointers to user32 API's for the API's which are used
 | 
| -// in this file. These are added to avoid directly depending on user32 from
 | 
| -// base as there are users of base who don't want this.
 | 
| -decltype(::TranslateMessage)* g_translate_message = nullptr;
 | 
| -decltype(::DispatchMessageW)* g_dispatch_message = nullptr;
 | 
| -decltype(::PeekMessageW)* g_peek_message = nullptr;
 | 
| -decltype(::PostMessageW)* g_post_message = nullptr;
 | 
| -decltype(::DefWindowProcW)* g_def_window_proc = nullptr;
 | 
| -decltype(::PostQuitMessage)* g_post_quit = nullptr;
 | 
| -decltype(::UnregisterClassW)* g_unregister_class = nullptr;
 | 
| -decltype(::RegisterClassExW)* g_register_class = nullptr;
 | 
| -decltype(::CreateWindowExW)* g_create_window_ex = nullptr;
 | 
| -decltype(::DestroyWindow)* g_destroy_window = nullptr;
 | 
| -decltype(::CallMsgFilterW)* g_call_msg_filter = nullptr;
 | 
| -decltype(::GetQueueStatus)* g_get_queue_status = nullptr;
 | 
| -decltype(::MsgWaitForMultipleObjectsEx)* g_msg_wait_for_multiple_objects_ex =
 | 
| -    nullptr;
 | 
| -decltype(::SetTimer)* g_set_timer = nullptr;
 | 
| -decltype(::KillTimer)* g_kill_timer = nullptr;
 | 
| -
 | 
| -#define GET_USER32_API(module, name)         \
 | 
| -  reinterpret_cast<decltype(name)*>(::GetProcAddress(module, #name))
 | 
| -
 | 
| -// Initializes the global pointers to user32 APIs for the API's used in this
 | 
| -// file.
 | 
| -void InitUser32APIs() {
 | 
| -  if (g_translate_message)
 | 
| -    return;
 | 
| -
 | 
| -  HMODULE user32_module = ::GetModuleHandle(L"user32.dll");
 | 
| -  CHECK(user32_module);
 | 
| -
 | 
| -  g_translate_message = GET_USER32_API(user32_module, TranslateMessage);
 | 
| -  CHECK(g_translate_message);
 | 
| -
 | 
| -  g_dispatch_message = GET_USER32_API(user32_module, DispatchMessageW);
 | 
| -  CHECK(g_dispatch_message);
 | 
| -
 | 
| -  g_peek_message = GET_USER32_API(user32_module, PeekMessageW);
 | 
| -  CHECK(g_peek_message);
 | 
| -
 | 
| -  g_post_message = GET_USER32_API(user32_module, PostMessageW);
 | 
| -  CHECK(g_post_message);
 | 
| -
 | 
| -  g_def_window_proc = GET_USER32_API(user32_module, DefWindowProcW);
 | 
| -  CHECK(g_def_window_proc);
 | 
| -
 | 
| -  g_post_quit = GET_USER32_API(user32_module, PostQuitMessage);
 | 
| -  CHECK(g_post_quit);
 | 
| -
 | 
| -  g_unregister_class = GET_USER32_API(user32_module, UnregisterClassW);
 | 
| -  CHECK(g_unregister_class);
 | 
| -
 | 
| -  g_register_class = GET_USER32_API(user32_module, RegisterClassExW);
 | 
| -  CHECK(g_register_class);
 | 
| -
 | 
| -  g_create_window_ex = GET_USER32_API(user32_module, CreateWindowExW);
 | 
| -  CHECK(g_create_window_ex);
 | 
| -
 | 
| -  g_destroy_window = GET_USER32_API(user32_module, DestroyWindow);
 | 
| -  CHECK(g_destroy_window);
 | 
| -
 | 
| -  g_call_msg_filter = GET_USER32_API(user32_module, CallMsgFilterW);
 | 
| -  CHECK(g_call_msg_filter);
 | 
| -
 | 
| -  g_get_queue_status = GET_USER32_API(user32_module, GetQueueStatus);
 | 
| -  CHECK(g_get_queue_status);
 | 
| -
 | 
| -  g_msg_wait_for_multiple_objects_ex =
 | 
| -      GET_USER32_API(user32_module, MsgWaitForMultipleObjectsEx);
 | 
| -  CHECK(g_msg_wait_for_multiple_objects_ex);
 | 
| -
 | 
| -  g_set_timer = GET_USER32_API(user32_module, SetTimer);
 | 
| -  CHECK(g_set_timer);
 | 
| -
 | 
| -  g_kill_timer = GET_USER32_API(user32_module, KillTimer);
 | 
| -  CHECK(g_kill_timer);
 | 
| -}
 | 
| -
 | 
|  }  // namespace
 | 
|  
 | 
|  static const wchar_t kWndClassFormat[] = L"Chrome_MessagePumpWindow_%p";
 | 
| @@ -120,10 +41,6 @@
 | 
|  
 | 
|  //-----------------------------------------------------------------------------
 | 
|  // MessagePumpWin public:
 | 
| -
 | 
| -MessagePumpWin::MessagePumpWin() {
 | 
| -  InitUser32APIs();
 | 
| -}
 | 
|  
 | 
|  void MessagePumpWin::Run(Delegate* delegate) {
 | 
|    RunState s;
 | 
| @@ -179,8 +96,8 @@
 | 
|  }
 | 
|  
 | 
|  MessagePumpForUI::~MessagePumpForUI() {
 | 
| -  g_destroy_window(message_hwnd_);
 | 
| -  g_unregister_class(MAKEINTATOM(atom_), CURRENT_MODULE());
 | 
| +  DestroyWindow(message_hwnd_);
 | 
| +  UnregisterClass(MAKEINTATOM(atom_), CURRENT_MODULE());
 | 
|  }
 | 
|  
 | 
|  void MessagePumpForUI::ScheduleWork() {
 | 
| @@ -188,8 +105,8 @@
 | 
|      return;  // Someone else continued the pumping.
 | 
|  
 | 
|    // Make sure the MessagePump does some work for us.
 | 
| -  BOOL ret = g_post_message(message_hwnd_, kMsgHaveWork,
 | 
| -                            reinterpret_cast<WPARAM>(this), 0);
 | 
| +  BOOL ret = PostMessage(message_hwnd_, kMsgHaveWork,
 | 
| +                         reinterpret_cast<WPARAM>(this), 0);
 | 
|    if (ret)
 | 
|      return;  // There was room in the Window Message queue.
 | 
|  
 | 
| @@ -229,7 +146,7 @@
 | 
|        reinterpret_cast<MessagePumpForUI*>(wparam)->HandleTimerMessage();
 | 
|        break;
 | 
|    }
 | 
| -  return g_def_window_proc(hwnd, message, wparam, lparam);
 | 
| +  return DefWindowProc(hwnd, message, wparam, lparam);
 | 
|  }
 | 
|  
 | 
|  void MessagePumpForUI::DoRunLoop() {
 | 
| @@ -270,7 +187,7 @@
 | 
|      // don't want to disturb that timer if it is already in flight.  However,
 | 
|      // if we did do all remaining delayed work, then lets kill the WM_TIMER.
 | 
|      if (more_work_is_plausible && delayed_work_time_.is_null())
 | 
| -      g_kill_timer(message_hwnd_, reinterpret_cast<UINT_PTR>(this));
 | 
| +      KillTimer(message_hwnd_, reinterpret_cast<UINT_PTR>(this));
 | 
|      if (state_->should_quit)
 | 
|        break;
 | 
|  
 | 
| @@ -298,11 +215,11 @@
 | 
|    wc.lpfnWndProc = base::win::WrappedWindowProc<WndProcThunk>;
 | 
|    wc.hInstance = instance;
 | 
|    wc.lpszClassName = class_name.c_str();
 | 
| -  atom_ = g_register_class(&wc);
 | 
| +  atom_ = RegisterClassEx(&wc);
 | 
|    DCHECK(atom_);
 | 
|  
 | 
| -  message_hwnd_ = g_create_window_ex(0, MAKEINTATOM(atom_), 0, 0, 0, 0, 0, 0,
 | 
| -                                     HWND_MESSAGE, 0, instance, 0);
 | 
| +  message_hwnd_ = CreateWindow(MAKEINTATOM(atom_), 0, 0, 0, 0, 0, 0,
 | 
| +                               HWND_MESSAGE, 0, instance, 0);
 | 
|    DCHECK(message_hwnd_);
 | 
|  }
 | 
|  
 | 
| @@ -316,8 +233,8 @@
 | 
|      if (delay < 0)  // Negative value means no timers waiting.
 | 
|        delay = INFINITE;
 | 
|  
 | 
| -    DWORD result = g_msg_wait_for_multiple_objects_ex(0, nullptr, delay,
 | 
| -                                                      QS_ALLINPUT, wait_flags);
 | 
| +    DWORD result =
 | 
| +        MsgWaitForMultipleObjectsEx(0, NULL, delay, QS_ALLINPUT, wait_flags);
 | 
|  
 | 
|      if (WAIT_OBJECT_0 == result) {
 | 
|        // A WM_* message is available.
 | 
| @@ -335,9 +252,9 @@
 | 
|        // current thread.
 | 
|        MSG msg = {0};
 | 
|        bool has_pending_sent_message =
 | 
| -          (HIWORD(g_get_queue_status(QS_SENDMESSAGE)) & QS_SENDMESSAGE) != 0;
 | 
| +          (HIWORD(GetQueueStatus(QS_SENDMESSAGE)) & QS_SENDMESSAGE) != 0;
 | 
|        if (has_pending_sent_message ||
 | 
| -          g_peek_message(&msg, nullptr, 0, 0, PM_NOREMOVE)) {
 | 
| +          PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE)) {
 | 
|          return;
 | 
|        }
 | 
|  
 | 
| @@ -375,7 +292,7 @@
 | 
|  }
 | 
|  
 | 
|  void MessagePumpForUI::HandleTimerMessage() {
 | 
| -  g_kill_timer(message_hwnd_, reinterpret_cast<UINT_PTR>(this));
 | 
| +  KillTimer(message_hwnd_, reinterpret_cast<UINT_PTR>(this));
 | 
|  
 | 
|    // If we are being called outside of the context of Run, then don't do
 | 
|    // anything.  This could correspond to a MessageBox call or something of
 | 
| @@ -420,8 +337,8 @@
 | 
|  
 | 
|      // Create a WM_TIMER event that will wake us up to check for any pending
 | 
|      // timers (in case we are running within a nested, external sub-pump).
 | 
| -    BOOL ret = g_set_timer(message_hwnd_, reinterpret_cast<UINT_PTR>(this),
 | 
| -                           delay_msec, nullptr);
 | 
| +    BOOL ret = SetTimer(message_hwnd_, reinterpret_cast<UINT_PTR>(this),
 | 
| +                        delay_msec, NULL);
 | 
|      if (ret)
 | 
|        return;
 | 
|      // If we can't set timers, we are in big trouble... but cross our fingers
 | 
| @@ -438,12 +355,12 @@
 | 
|    // case to ensure that the message loop peeks again instead of calling
 | 
|    // MsgWaitForMultipleObjectsEx again.
 | 
|    bool sent_messages_in_queue = false;
 | 
| -  DWORD queue_status = g_get_queue_status(QS_SENDMESSAGE);
 | 
| +  DWORD queue_status = GetQueueStatus(QS_SENDMESSAGE);
 | 
|    if (HIWORD(queue_status) & QS_SENDMESSAGE)
 | 
|      sent_messages_in_queue = true;
 | 
|  
 | 
|    MSG msg;
 | 
| -  if (g_peek_message(&msg, nullptr, 0, 0, PM_REMOVE) != FALSE)
 | 
| +  if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) != FALSE)
 | 
|      return ProcessMessageHelper(msg);
 | 
|  
 | 
|    return sent_messages_in_queue;
 | 
| @@ -456,7 +373,7 @@
 | 
|      // Repost the QUIT message so that it will be retrieved by the primary
 | 
|      // GetMessage() loop.
 | 
|      state_->should_quit = true;
 | 
| -    g_post_quit(static_cast<int>(msg.wParam));
 | 
| +    PostQuitMessage(static_cast<int>(msg.wParam));
 | 
|      return false;
 | 
|    }
 | 
|  
 | 
| @@ -464,11 +381,11 @@
 | 
|    if (msg.message == kMsgHaveWork && msg.hwnd == message_hwnd_)
 | 
|      return ProcessPumpReplacementMessage();
 | 
|  
 | 
| -  if (g_call_msg_filter(const_cast<MSG*>(&msg), kMessageFilterCode))
 | 
| +  if (CallMsgFilter(const_cast<MSG*>(&msg), kMessageFilterCode))
 | 
|      return true;
 | 
|  
 | 
| -  g_translate_message(&msg);
 | 
| -  g_dispatch_message(&msg);
 | 
| +  TranslateMessage(&msg);
 | 
| +  DispatchMessage(&msg);
 | 
|  
 | 
|    return true;
 | 
|  }
 | 
| @@ -484,8 +401,7 @@
 | 
|    // asynchronous to this thread!!
 | 
|  
 | 
|    MSG msg;
 | 
| -  const bool have_message =
 | 
| -      g_peek_message(&msg, nullptr, 0, 0, PM_REMOVE) != FALSE;
 | 
| +  const bool have_message = PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) != FALSE;
 | 
|  
 | 
|    // Expect no message or a message different than kMsgHaveWork.
 | 
|    DCHECK(!have_message || kMsgHaveWork != msg.message ||
 | 
| @@ -615,7 +531,7 @@
 | 
|      debug::Alias(&delay);
 | 
|  
 | 
|      DWORD result =
 | 
| -        g_msg_wait_for_multiple_objects_ex(1, &event_, delay, QS_ALLINPUT, 0);
 | 
| +        MsgWaitForMultipleObjectsEx(1, &event_, delay, QS_ALLINPUT, 0);
 | 
|      DCHECK_NE(WAIT_FAILED, result) << GetLastError();
 | 
|      if (result != WAIT_TIMEOUT) {
 | 
|        // Either work or message available.
 | 
| @@ -626,20 +542,20 @@
 | 
|  
 | 
|  bool MessagePumpForGpu::ProcessNextMessage() {
 | 
|    MSG msg;
 | 
| -  if (!g_peek_message(&msg, nullptr, 0, 0, PM_REMOVE))
 | 
| +  if (!PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE))
 | 
|      return false;
 | 
|  
 | 
|    if (msg.message == WM_QUIT) {
 | 
|      // Repost the QUIT message so that it will be retrieved by the primary
 | 
|      // GetMessage() loop.
 | 
|      state_->should_quit = true;
 | 
| -    g_post_quit(static_cast<int>(msg.wParam));
 | 
| +    PostQuitMessage(static_cast<int>(msg.wParam));
 | 
|      return false;
 | 
|    }
 | 
|  
 | 
| -  if (!g_call_msg_filter(const_cast<MSG*>(&msg), kMessageFilterCode)) {
 | 
| -    g_translate_message(&msg);
 | 
| -    g_dispatch_message(&msg);
 | 
| +  if (!CallMsgFilter(const_cast<MSG*>(&msg), kMessageFilterCode)) {
 | 
| +    TranslateMessage(&msg);
 | 
| +    DispatchMessage(&msg);
 | 
|    }
 | 
|  
 | 
|    return true;
 | 
| @@ -653,8 +569,7 @@
 | 
|  }
 | 
|  
 | 
|  MessagePumpForIO::MessagePumpForIO() {
 | 
| -  port_.Set(CreateIoCompletionPort(INVALID_HANDLE_VALUE, nullptr,
 | 
| -      reinterpret_cast<ULONG_PTR>(nullptr), 1));
 | 
| +  port_.Set(CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, NULL, 1));
 | 
|    DCHECK(port_.IsValid());
 | 
|  }
 | 
|  
 | 
| @@ -722,7 +637,7 @@
 | 
|      if (state_->should_quit)
 | 
|        break;
 | 
|  
 | 
| -    more_work_is_plausible |= WaitForIOCompletion(0, nullptr);
 | 
| +    more_work_is_plausible |= WaitForIOCompletion(0, NULL);
 | 
|      if (state_->should_quit)
 | 
|        break;
 | 
|  
 | 
| @@ -756,7 +671,7 @@
 | 
|    if (timeout < 0)  // Negative value means no timers waiting.
 | 
|      timeout = INFINITE;
 | 
|  
 | 
| -  WaitForIOCompletion(timeout, nullptr);
 | 
| +  WaitForIOCompletion(timeout, NULL);
 | 
|  }
 | 
|  
 | 
|  bool MessagePumpForIO::WaitForIOCompletion(DWORD timeout, IOHandler* filter) {
 | 
| @@ -783,8 +698,8 @@
 | 
|  // Asks the OS for another IO completion result.
 | 
|  bool MessagePumpForIO::GetIOItem(DWORD timeout, IOItem* item) {
 | 
|    memset(item, 0, sizeof(*item));
 | 
| -  ULONG_PTR key = reinterpret_cast<ULONG_PTR>(nullptr);
 | 
| -  OVERLAPPED* overlapped = nullptr;
 | 
| +  ULONG_PTR key = NULL;
 | 
| +  OVERLAPPED* overlapped = NULL;
 | 
|    if (!GetQueuedCompletionStatus(port_.Get(), &item->bytes_transfered, &key,
 | 
|                                   &overlapped, timeout)) {
 | 
|      if (!overlapped)
 | 
| 
 |