| Index: Source/WebCore/platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp
|
| diff --git a/Source/WebCore/platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp b/Source/WebCore/platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp
|
| deleted file mode 100644
|
| index 6914aefb1605e1842f8c06a74eab0fe62710620b..0000000000000000000000000000000000000000
|
| --- a/Source/WebCore/platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp
|
| +++ /dev/null
|
| @@ -1,201 +0,0 @@
|
| -/*
|
| - * Copyright (C) 2010 Apple Inc. All rights reserved.
|
| - *
|
| - * Redistribution and use in source and binary forms, with or without
|
| - * modification, are permitted provided that the following conditions
|
| - * are met:
|
| - * 1. Redistributions of source code must retain the above copyright
|
| - * notice, this list of conditions and the following disclaimer.
|
| - * 2. Redistributions in binary form must reproduce the above copyright
|
| - * notice, this list of conditions and the following disclaimer in the
|
| - * documentation and/or other materials provided with the distribution.
|
| - *
|
| - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
|
| - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
| - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
| - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
|
| - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
| - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
| - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
| - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
| - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
| - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
| - * THE POSSIBILITY OF SUCH DAMAGE.
|
| - */
|
| -
|
| -#include "config.h"
|
| -#include "MediaPlayerPrivateFullscreenWindow.h"
|
| -
|
| -#include "IntRect.h"
|
| -#include "WebCoreInstanceHandle.h"
|
| -#include <windows.h>
|
| -
|
| -#if USE(ACCELERATED_COMPOSITING)
|
| -#include "CACFLayerTreeHost.h"
|
| -#include "PlatformCALayer.h"
|
| -#endif
|
| -
|
| -namespace WebCore {
|
| -
|
| -MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow(MediaPlayerPrivateFullscreenClient* client)
|
| - : m_client(client)
|
| - , m_hwnd(0)
|
| -{
|
| -}
|
| -
|
| -MediaPlayerPrivateFullscreenWindow::~MediaPlayerPrivateFullscreenWindow()
|
| -{
|
| - if (!m_hwnd)
|
| - return;
|
| -
|
| - ::DestroyWindow(m_hwnd);
|
| - ASSERT(!m_hwnd);
|
| -}
|
| -
|
| -void MediaPlayerPrivateFullscreenWindow::createWindow(HWND parentHwnd)
|
| -{
|
| - static ATOM windowAtom;
|
| - static LPCWSTR windowClassName = L"MediaPlayerPrivateFullscreenWindowClass";
|
| - if (!windowAtom) {
|
| - WNDCLASSEX wcex = {0};
|
| - wcex.cbSize = sizeof(WNDCLASSEX);
|
| - wcex.style = CS_HREDRAW | CS_VREDRAW;
|
| - wcex.lpfnWndProc = staticWndProc;
|
| - wcex.hInstance = instanceHandle();
|
| - wcex.lpszClassName = windowClassName;
|
| - windowAtom = ::RegisterClassEx(&wcex);
|
| - }
|
| -
|
| - ASSERT(!m_hwnd);
|
| -
|
| - MONITORINFO mi = {0};
|
| - mi.cbSize = sizeof(MONITORINFO);
|
| - if (!GetMonitorInfo(MonitorFromWindow(parentHwnd, MONITOR_DEFAULTTONEAREST), &mi))
|
| - return;
|
| -
|
| - IntRect monitorRect = mi.rcMonitor;
|
| -
|
| - ::CreateWindowExW(WS_EX_TOOLWINDOW, windowClassName, L"", WS_POPUP,
|
| - monitorRect.x(), monitorRect.y(), monitorRect.width(), monitorRect.height(),
|
| - parentHwnd, 0, WebCore::instanceHandle(), this);
|
| - ASSERT(IsWindow(m_hwnd));
|
| -
|
| -#if USE(ACCELERATED_COMPOSITING)
|
| - if (m_layerTreeHost)
|
| - m_layerTreeHost->setWindow(m_hwnd);
|
| -#endif
|
| -
|
| - ::SetFocus(m_hwnd);
|
| -}
|
| -
|
| -#if USE(ACCELERATED_COMPOSITING)
|
| -void MediaPlayerPrivateFullscreenWindow::setRootChildLayer(PassRefPtr<PlatformCALayer> rootChild)
|
| -{
|
| - if (m_rootChild == rootChild)
|
| - return;
|
| -
|
| - if (m_rootChild)
|
| - m_rootChild->removeFromSuperlayer();
|
| -
|
| - m_rootChild = rootChild;
|
| -
|
| - if (!m_rootChild) {
|
| - m_layerTreeHost = nullptr;
|
| - return;
|
| - }
|
| -
|
| - if (!m_layerTreeHost) {
|
| - m_layerTreeHost = CACFLayerTreeHost::create();
|
| - if (m_hwnd)
|
| - m_layerTreeHost->setWindow(m_hwnd);
|
| - }
|
| -
|
| - m_layerTreeHost->setRootChildLayer(m_rootChild.get());
|
| - PlatformCALayer* rootLayer = m_rootChild->rootLayer();
|
| - CGRect rootBounds = m_rootChild->rootLayer()->bounds();
|
| - m_rootChild->setFrame(rootBounds);
|
| - m_rootChild->setBackgroundColor(CGColorGetConstantColor(kCGColorBlack));
|
| -#ifndef NDEBUG
|
| - RetainPtr<CGColorRef> redColor(AdoptCF, CGColorCreateGenericRGB(1, 0, 0, 1));
|
| - rootLayer->setBackgroundColor(redColor.get());
|
| -#else
|
| - rootLayer->setBackgroundColor(CGColorGetConstantColor(kCGColorBlack));
|
| -#endif
|
| -}
|
| -#endif
|
| -
|
| -LRESULT MediaPlayerPrivateFullscreenWindow::staticWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
| -{
|
| - LONG_PTR longPtr = GetWindowLongPtr(hWnd, GWLP_USERDATA);
|
| -
|
| - if (!longPtr && message == WM_CREATE) {
|
| - LPCREATESTRUCT lpcs = reinterpret_cast<LPCREATESTRUCT>(lParam);
|
| - longPtr = reinterpret_cast<LONG_PTR>(lpcs->lpCreateParams);
|
| - ::SetWindowLongPtr(hWnd, GWLP_USERDATA, longPtr);
|
| - }
|
| -
|
| - if (MediaPlayerPrivateFullscreenWindow* window = reinterpret_cast<MediaPlayerPrivateFullscreenWindow*>(longPtr))
|
| - return window->wndProc(hWnd, message, wParam, lParam);
|
| -
|
| - return ::DefWindowProc(hWnd, message, wParam, lParam);
|
| -}
|
| -
|
| -LRESULT MediaPlayerPrivateFullscreenWindow::wndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
| -{
|
| - LRESULT lResult = 0;
|
| - switch (message) {
|
| - case WM_CREATE:
|
| - m_hwnd = hWnd;
|
| - break;
|
| - case WM_DESTROY:
|
| - m_hwnd = 0;
|
| -#if USE(ACCELERATED_COMPOSITING)
|
| - if (m_layerTreeHost)
|
| - m_layerTreeHost->setWindow(0);
|
| -#endif
|
| - break;
|
| - case WM_WINDOWPOSCHANGED:
|
| - {
|
| - LPWINDOWPOS wp = reinterpret_cast<LPWINDOWPOS>(lParam);
|
| - if (wp->flags & SWP_NOSIZE)
|
| - break;
|
| -#if USE(ACCELERATED_COMPOSITING)
|
| - if (m_layerTreeHost) {
|
| - m_layerTreeHost->resize();
|
| - PlatformCALayer* rootLayer = m_rootChild->rootLayer();
|
| - CGRect rootBounds = m_rootChild->rootLayer()->bounds();
|
| - m_rootChild->setFrame(rootBounds);
|
| - m_rootChild->setNeedsLayout();
|
| - }
|
| -#endif
|
| - }
|
| - break;
|
| - case WM_PAINT:
|
| -#if USE(ACCELERATED_COMPOSITING)
|
| - if (m_layerTreeHost) {
|
| - m_layerTreeHost->paint();
|
| - ::ValidateRect(m_hwnd, 0);
|
| - } else
|
| -#endif
|
| - {
|
| - PAINTSTRUCT ps;
|
| - HDC hdc = ::BeginPaint(m_hwnd, &ps);
|
| - ::FillRect(hdc, &ps.rcPaint, (HBRUSH)::GetStockObject(BLACK_BRUSH));
|
| - ::EndPaint(m_hwnd, &ps);
|
| - }
|
| - break;
|
| - case WM_PRINTCLIENT:
|
| - {
|
| - RECT clientRect;
|
| - HDC context = (HDC)wParam;
|
| - ::GetClientRect(m_hwnd, &clientRect);
|
| - ::FillRect(context, &clientRect, (HBRUSH)::GetStockObject(BLACK_BRUSH));
|
| - }
|
| - }
|
| - if (m_client)
|
| - lResult = m_client->fullscreenClientWndProc(hWnd, message, wParam, lParam);
|
| -
|
| - return lResult;
|
| -}
|
| -
|
| -}
|
|
|