| Index: chrome/browser/media/window_icon_util_mac.mm
|
| diff --git a/chrome/browser/media/window_icon_util_mac.mm b/chrome/browser/media/window_icon_util_mac.mm
|
| deleted file mode 100644
|
| index cdeb2880f1af617887786a6aad2b3919e84ad3c9..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/media/window_icon_util_mac.mm
|
| +++ /dev/null
|
| @@ -1,66 +0,0 @@
|
| -// Copyright 2016 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 "chrome/browser/media/window_icon_util.h"
|
| -
|
| -#include <ApplicationServices/ApplicationServices.h>
|
| -#include <Cocoa/Cocoa.h>
|
| -#include <CoreFoundation/CoreFoundation.h>
|
| -
|
| -#include "third_party/libyuv/include/libyuv/convert_argb.h"
|
| -
|
| -gfx::ImageSkia GetWindowIcon(content::DesktopMediaID id) {
|
| - DCHECK(id.type == content::DesktopMediaID::TYPE_WINDOW);
|
| -
|
| - CGWindowID ids[1];
|
| - ids[0] = id.id;
|
| - CFArrayRef window_id_array =
|
| - CFArrayCreate(nullptr, reinterpret_cast<const void**>(&ids), 1, nullptr);
|
| - CFArrayRef window_array =
|
| - CGWindowListCreateDescriptionFromArray(window_id_array);
|
| - if (!window_array || 0 == CFArrayGetCount(window_array)) {
|
| - return gfx::ImageSkia();
|
| - }
|
| -
|
| - CFDictionaryRef window = reinterpret_cast<CFDictionaryRef>(
|
| - CFArrayGetValueAtIndex(window_array, 0));
|
| - CFNumberRef pid_ref = reinterpret_cast<CFNumberRef>(
|
| - CFDictionaryGetValue(window, kCGWindowOwnerPID));
|
| -
|
| - int pid;
|
| - CFNumberGetValue(pid_ref, kCFNumberIntType, &pid);
|
| -
|
| - NSImage* icon_image =
|
| - [[NSRunningApplication runningApplicationWithProcessIdentifier:pid] icon];
|
| -
|
| - int width = [icon_image size].width;
|
| - int height = [icon_image size].height;
|
| -
|
| - CGImageRef cg_icon_image =
|
| - [icon_image CGImageForProposedRect:nil context:nil hints:nil];
|
| -
|
| - int bits_per_pixel = CGImageGetBitsPerPixel(cg_icon_image);
|
| - if (bits_per_pixel != 32) {
|
| - return gfx::ImageSkia();
|
| - }
|
| -
|
| - CGDataProviderRef provider = CGImageGetDataProvider(cg_icon_image);
|
| - CFDataRef cf_data = CGDataProviderCopyData(provider);
|
| -
|
| - int src_stride = CGImageGetBytesPerRow(cg_icon_image);
|
| - const uint8_t* src_data = CFDataGetBytePtr(cf_data);
|
| -
|
| - SkBitmap result;
|
| - result.allocN32Pixels(width, height, false);
|
| - result.lockPixels();
|
| -
|
| - uint8_t* pixels_data = reinterpret_cast<uint8_t*>(result.getPixels());
|
| -
|
| - libyuv::ABGRToARGB(src_data, src_stride, pixels_data, result.rowBytes(),
|
| - width, height);
|
| -
|
| - CFRelease(cf_data);
|
| -
|
| - return gfx::ImageSkia::CreateFrom1xBitmap(result);
|
| -}
|
|
|