diff options
author | jbauman <jbauman@chromium.org> | 2014-10-01 18:03:08 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-02 01:05:05 +0000 |
commit | e60b8dd73b8040967cd5d5eca004c01ac6c3df4e (patch) | |
tree | a58c2b46f79e7ecfca59469854ea966025f387fe /ui/snapshot | |
parent | 78f3331bfec0cf4db351c806a40517e62d386887 (diff) | |
download | chromium_src-e60b8dd73b8040967cd5d5eca004c01ac6c3df4e.zip chromium_src-e60b8dd73b8040967cd5d5eca004c01ac6c3df4e.tar.gz chromium_src-e60b8dd73b8040967cd5d5eca004c01ac6c3df4e.tar.bz2 |
Remove Windows snapshot code.
This is never used now that aura is enabled.
Review URL: https://codereview.chromium.org/621883004
Cr-Commit-Position: refs/heads/master@{#297755}
Diffstat (limited to 'ui/snapshot')
-rw-r--r-- | ui/snapshot/BUILD.gn | 14 | ||||
-rw-r--r-- | ui/snapshot/snapshot.gyp | 22 | ||||
-rw-r--r-- | ui/snapshot/snapshot_win.cc | 151 | ||||
-rw-r--r-- | ui/snapshot/snapshot_win.h | 32 | ||||
-rw-r--r-- | ui/snapshot/test/snapshot_desktop.h | 25 | ||||
-rw-r--r-- | ui/snapshot/test/snapshot_desktop_win.cc | 16 |
6 files changed, 0 insertions, 260 deletions
diff --git a/ui/snapshot/BUILD.gn b/ui/snapshot/BUILD.gn index f294800..929aa3c 100644 --- a/ui/snapshot/BUILD.gn +++ b/ui/snapshot/BUILD.gn @@ -14,8 +14,6 @@ component("snapshot") { "snapshot_export.h", "snapshot_ios.mm", "snapshot_mac.mm", - "snapshot_win.cc", - "snapshot_win.h", ] defines = [ "SNAPSHOT_IMPLEMENTATION" ] @@ -83,15 +81,3 @@ test("snapshot_unittests") { sources -= [ "snapshot_aura_unittest.cc" ] } } - -if (is_win) { - source_set("test_support") { - sources = [ - "test/snapshot_desktop.h", - "test/snapshot_desktop_win.cc", - ] - deps = [ - ":snapshot", - ] - } -} diff --git a/ui/snapshot/snapshot.gyp b/ui/snapshot/snapshot.gyp index 3aa1fca..fca6f4e 100644 --- a/ui/snapshot/snapshot.gyp +++ b/ui/snapshot/snapshot.gyp @@ -29,8 +29,6 @@ 'snapshot_export.h', 'snapshot_ios.mm', 'snapshot_mac.mm', - 'snapshot_win.cc', - 'snapshot_win.h', ], 'include_dirs': [ '..', @@ -93,24 +91,4 @@ ], }, ], - 'conditions': [ - ['OS=="win"', { - 'targets': [ - { - 'target_name': 'snapshot_test_support', - 'type': 'static_library', - 'sources': [ - 'test/snapshot_desktop.h', - 'test/snapshot_desktop_win.cc', - ], - 'dependencies': [ - 'snapshot', - ], - 'include_dirs': [ - '../..', - ], - }, - ], - }], - ], } diff --git a/ui/snapshot/snapshot_win.cc b/ui/snapshot/snapshot_win.cc deleted file mode 100644 index fff9705..0000000 --- a/ui/snapshot/snapshot_win.cc +++ /dev/null @@ -1,151 +0,0 @@ -// Copyright (c) 2012 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 "ui/snapshot/snapshot_win.h" - -#include "base/callback.h" -#include "base/win/scoped_gdi_object.h" -#include "base/win/scoped_hdc.h" -#include "base/win/scoped_select_object.h" -#include "ui/gfx/codec/png_codec.h" -#include "ui/gfx/gdi_util.h" -#include "ui/gfx/rect.h" -#include "ui/gfx/size.h" -#include "ui/snapshot/snapshot.h" - -namespace { - -gfx::Rect GetWindowBounds(HWND window_handle) { - RECT content_rect = {0, 0, 0, 0}; - if (window_handle) { - ::GetWindowRect(window_handle, &content_rect); - } else { - MONITORINFO monitor_info = {}; - monitor_info.cbSize = sizeof(monitor_info); - if (GetMonitorInfo(MonitorFromWindow(NULL, MONITOR_DEFAULTTOPRIMARY), - &monitor_info)) { - content_rect = monitor_info.rcMonitor; - } - } - content_rect.right++; // Match what PrintWindow wants. - - return gfx::Rect(content_rect.right - content_rect.left, - content_rect.bottom - content_rect.top); -} - -} // namespace - -namespace ui { - -namespace internal { - -bool GrabHwndSnapshot(HWND window_handle, - const gfx::Rect& snapshot_bounds, - std::vector<unsigned char>* png_representation) { - DCHECK(snapshot_bounds.right() <= GetWindowBounds(window_handle).right()); - DCHECK(snapshot_bounds.bottom() <= GetWindowBounds(window_handle).bottom()); - - // Create a memory DC that's compatible with the window. - HDC window_hdc = GetWindowDC(window_handle); - base::win::ScopedCreateDC mem_hdc(CreateCompatibleDC(window_hdc)); - - BITMAPINFOHEADER hdr; - gfx::CreateBitmapHeader(snapshot_bounds.width(), - snapshot_bounds.height(), - &hdr); - unsigned char *bit_ptr = NULL; - base::win::ScopedBitmap bitmap( - CreateDIBSection(mem_hdc.Get(), - reinterpret_cast<BITMAPINFO*>(&hdr), - DIB_RGB_COLORS, - reinterpret_cast<void **>(&bit_ptr), - NULL, 0)); - - base::win::ScopedSelectObject select_bitmap(mem_hdc.Get(), bitmap); - // Clear the bitmap to white (so that rounded corners on windows - // show up on a white background, and strangely-shaped windows - // look reasonable). Not capturing an alpha mask saves a - // bit of space. - PatBlt(mem_hdc.Get(), 0, 0, snapshot_bounds.width(), snapshot_bounds.height(), - WHITENESS); - // Grab a copy of the window - // First, see if PrintWindow is defined (it's not in Windows 2000). - typedef BOOL (WINAPI *PrintWindowPointer)(HWND, HDC, UINT); - PrintWindowPointer print_window = - reinterpret_cast<PrintWindowPointer>( - GetProcAddress(GetModuleHandle(L"User32.dll"), "PrintWindow")); - - // If PrintWindow is defined, use it. It will work on partially - // obscured windows, and works better for out of process sub-windows. - // Otherwise grab the bits we can get with BitBlt; it's better - // than nothing and will work fine in the average case (window is - // completely on screen). Always BitBlt when grabbing the whole screen. - if (snapshot_bounds.origin() == gfx::Point() && print_window && window_handle) - (*print_window)(window_handle, mem_hdc.Get(), 0); - else - BitBlt(mem_hdc.Get(), 0, 0, snapshot_bounds.width(), - snapshot_bounds.height(), window_hdc, snapshot_bounds.x(), - snapshot_bounds.y(), SRCCOPY); - - // We now have a copy of the window contents in a DIB, so - // encode it into a useful format for posting to the bug report - // server. - gfx::PNGCodec::Encode(bit_ptr, gfx::PNGCodec::FORMAT_BGRA, - snapshot_bounds.size(), - snapshot_bounds.width() * 4, true, - std::vector<gfx::PNGCodec::Comment>(), - png_representation); - - ReleaseDC(window_handle, window_hdc); - - return true; -} - -} // namespace internal - -#if !defined(USE_AURA) - -bool GrabViewSnapshot(gfx::NativeView view_handle, - std::vector<unsigned char>* png_representation, - const gfx::Rect& snapshot_bounds) { - return GrabWindowSnapshot(view_handle, png_representation, snapshot_bounds); -} - -bool GrabWindowSnapshot(gfx::NativeWindow window_handle, - std::vector<unsigned char>* png_representation, - const gfx::Rect& snapshot_bounds) { - DCHECK(window_handle); - return internal::GrabHwndSnapshot(window_handle, snapshot_bounds, - png_representation); -} - -void GrapWindowSnapshotAsync( - gfx::NativeWindow window, - const gfx::Rect& snapshot_bounds, - const gfx::Size& target_size, - scoped_refptr<base::TaskRunner> background_task_runner, - GrabWindowSnapshotAsyncCallback callback) { - callback.Run(gfx::Image()); -} - -void GrabViewSnapshotAsync( - gfx::NativeView view, - const gfx::Rect& source_rect, - scoped_refptr<base::TaskRunner> background_task_runner, - const GrabWindowSnapshotAsyncPNGCallback& callback) { - callback.Run(scoped_refptr<base::RefCountedBytes>()); -} - - -void GrabWindowSnapshotAsync( - gfx::NativeWindow window, - const gfx::Rect& source_rect, - scoped_refptr<base::TaskRunner> background_task_runner, - const GrabWindowSnapshotAsyncPNGCallback& callback) { - callback.Run(scoped_refptr<base::RefCountedBytes>()); -} - -#endif // !defined(USE_AURA) - -} // namespace ui diff --git a/ui/snapshot/snapshot_win.h b/ui/snapshot/snapshot_win.h deleted file mode 100644 index e521484..0000000 --- a/ui/snapshot/snapshot_win.h +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2013 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. - -#ifndef UI_SNAPSHOT_SNAPSHOT_WIN_H_ -#define UI_SNAPSHOT_SNAPSHOT_WIN_H_ - -#include <windows.h> - -#include <vector> - -#include "ui/snapshot/snapshot_export.h" - -namespace gfx { -class Rect; -} - -namespace ui { -namespace internal { - -// Grabs a snapshot of the desktop. No security checks are done. This is -// intended to be used for debugging purposes where no BrowserProcess instance -// is available (ie. tests). DO NOT use in a result of user action. -SNAPSHOT_EXPORT bool GrabHwndSnapshot( - HWND window_handle, - const gfx::Rect& snapshot_bounds, - std::vector<unsigned char>* png_representation); - -} // namespace internal -} // namespace ui - -#endif // UI_SNAPSHOT_SNAPSHOT_WIN_H_ diff --git a/ui/snapshot/test/snapshot_desktop.h b/ui/snapshot/test/snapshot_desktop.h deleted file mode 100644 index bbd54de..0000000 --- a/ui/snapshot/test/snapshot_desktop.h +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2013 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. - -#ifndef UI_SNAPSHOT_TEST_SNAPSHOT_DESKTOP_H_ -#define UI_SNAPSHOT_TEST_SNAPSHOT_DESKTOP_H_ - -#include <vector> - -namespace gfx { -class Rect; -} - -namespace ui { - -// Grabs a snapshot of the desktop. No security checks are done. This is -// intended to be used for debugging purposes where no BrowserProcess instance -// is available (ie. tests). DO NOT use in a result of user action. -bool GrabDesktopSnapshot( - const gfx::Rect& snapshot_bounds, - std::vector<unsigned char>* png_representation); - -} // namespace ui - -#endif // UI_SNAPSHOT_TEST_SNAPSHOT_DESKTOP_H_ diff --git a/ui/snapshot/test/snapshot_desktop_win.cc b/ui/snapshot/test/snapshot_desktop_win.cc deleted file mode 100644 index 1d4a29b..0000000 --- a/ui/snapshot/test/snapshot_desktop_win.cc +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2013 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 "ui/snapshot/test/snapshot_desktop.h" - -#include "ui/snapshot/snapshot_win.h" - -namespace ui { - -bool GrabDesktopSnapshot(const gfx::Rect& snapshot_bounds, - std::vector<unsigned char>* png_representation) { - return internal::GrabHwndSnapshot(NULL, snapshot_bounds, png_representation); -} - -} // namespace ui |