diff --git a/cef1/libcef/browser_webview_delegate_mac.mm b/cef1/libcef/browser_webview_delegate_mac.mm index c10bc99b3..e344ee9d6 100644 --- a/cef1/libcef/browser_webview_delegate_mac.mm +++ b/cef1/libcef/browser_webview_delegate_mac.mm @@ -22,6 +22,9 @@ #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebPoint.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebPopupMenu.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h" +#include "ui/base/layout.h" +#include "ui/gfx/image/image_skia.h" +#include "ui/gfx/image/image_skia_util_mac.h" #include "webkit/glue/webcursor.h" #include "webkit/glue/webdropdata.h" #include "webkit/plugins/npapi/plugin_list.h" @@ -396,9 +399,11 @@ void BrowserWebViewDelegate::startDragging( NSImage* ns_image = nil; if (!image.isNull()) { - const SkBitmap& bitmap = image.getSkBitmap(); - CGColorSpaceRef color_space = base::mac::GetSystemColorSpace(); - ns_image = gfx::SkBitmapToNSImageWithColorSpace(bitmap, color_space); + ui::ScaleFactor scale_factor = + ui::GetScaleFactorForNativeView(host->view_handle()); + gfx::ImageSkia image_skia( + gfx::ImageSkiaRep(image.getSkBitmap(), scale_factor)); + ns_image = gfx::NSImageFromImageSkia(image_skia); } NSPoint offset = NSPointFromCGPoint(gfx::Point(image_offset).ToCGPoint()); diff --git a/cef1/libcef/web_drag_source_mac.mm b/cef1/libcef/web_drag_source_mac.mm index 66f7fd3fe..e361a6e4b 100644 --- a/cef1/libcef/web_drag_source_mac.mm +++ b/cef1/libcef/web_drag_source_mac.mm @@ -88,7 +88,6 @@ void PromiseWriterHelper(const WebDropData& drop_data, @interface WebDragSource(Private) - (void)fillPasteboard; -- (NSImage*)dragImage; @end // @interface WebDragSource(Private) @@ -238,9 +237,10 @@ void PromiseWriterHelper(const WebDropData& drop_data, // Deal with Cocoa's flipped coordinate system. position.y -= [dragImage_.get() size].height - imageOffset_.y; } + // Per kwebster, offset arg is ignored, see -_web_DragImageForElement: in // third_party/WebKit/Source/WebKit/mac/Misc/WebNSViewExtras.m. - [window dragImage:[self dragImage] + [window dragImage:dragImage_ at:position offset:NSZeroSize event:dragEvent @@ -423,12 +423,4 @@ void PromiseWriterHelper(const WebDropData& drop_data, owner:view_]; } -- (NSImage*)dragImage { - if (dragImage_) - return dragImage_; - - // Default to returning a generic image. - return gfx::GetCachedImageWithName(@"nav.pdf"); -} - @end // @implementation WebDragSource (Private)