summaryrefslogtreecommitdiffstats
path: root/chrome/plugin/command_buffer_stub_win.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/plugin/command_buffer_stub_win.cc')
-rw-r--r--chrome/plugin/command_buffer_stub_win.cc78
1 files changed, 0 insertions, 78 deletions
diff --git a/chrome/plugin/command_buffer_stub_win.cc b/chrome/plugin/command_buffer_stub_win.cc
deleted file mode 100644
index 656bbd1..0000000
--- a/chrome/plugin/command_buffer_stub_win.cc
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <windows.h>
-
-#include "chrome/common/command_buffer_messages.h"
-#include "chrome/plugin/command_buffer_stub.h"
-
-namespace {
-const wchar_t* kPreviousWndProcProperty = L"CommandBufferStubPrevWndProc";
-const wchar_t* kCommandBufferStubProperty = L"CommandBufferStub";
-
-// Message handler for the GPU plugin's child window. Used to intercept
-// WM_PAINT events and forward repaint notifications to the client.
-LRESULT WINAPI WndProc(HWND handle,
- UINT message,
- WPARAM w_param,
- LPARAM l_param) {
- WNDPROC previous_wnd_proc = reinterpret_cast<WNDPROC>(
- ::GetProp(handle, kPreviousWndProcProperty));
- CommandBufferStub* stub = reinterpret_cast<CommandBufferStub*>(
- ::GetProp(handle, kCommandBufferStubProperty));
-
- switch (message) {
- case WM_ERASEBKGND:
- // Do not clear background. Avoids flickering.
- return 1;
- case WM_PAINT:
- // Validate the whole window to prevent another WM_PAINT message.
- ValidateRect(handle, NULL);
-
- // Notify client that the window is invalid and needs to be repainted.
- stub->NotifyRepaint();
-
- return 1;
- default:
- return CallWindowProc(previous_wnd_proc,
- handle,
- message,
- w_param,
- l_param);
- }
-}
-} // namespace anonymous
-
-void CommandBufferStub::NotifyRepaint() {
- Send(new CommandBufferMsg_NotifyRepaint(route_id_));
-}
-
-bool CommandBufferStub::InitializePlatformSpecific() {
- // Subclass window.
- WNDPROC previous_wnd_proc = reinterpret_cast<WNDPROC>(
- ::GetWindowLongPtr(window_, GWLP_WNDPROC));
- ::SetProp(window_,
- kPreviousWndProcProperty,
- reinterpret_cast<HANDLE>(previous_wnd_proc));
- ::SetWindowLongPtr(window_,
- GWLP_WNDPROC,
- reinterpret_cast<LONG_PTR>(WndProc));
-
- // Record pointer to this in window.
- ::SetProp(window_,
- kCommandBufferStubProperty,
- reinterpret_cast<HANDLE>(this));
-
- return true;
-}
-
-void CommandBufferStub::DestroyPlatformSpecific() {
- // Restore window.
- WNDPROC previous_wnd_proc = reinterpret_cast<WNDPROC>(
- ::GetProp(window_, kPreviousWndProcProperty));
- ::SetWindowLongPtr(window_, GWLP_WNDPROC, reinterpret_cast<LONG_PTR>(
- previous_wnd_proc));
- ::RemoveProp(window_, kPreviousWndProcProperty);
- ::RemoveProp(window_, kCommandBufferStubProperty);
-}