| Index: chrome/plugin/command_buffer_stub_win.cc
|
| ===================================================================
|
| --- chrome/plugin/command_buffer_stub_win.cc (revision 76392)
|
| +++ chrome/plugin/command_buffer_stub_win.cc (working copy)
|
| @@ -1,73 +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/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
|
| -
|
| -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);
|
| -}
|
|
|