DOM::renderedImageForcingBlackText returns an image with the wrong logical size on...
authortimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 31 Jul 2014 22:06:10 +0000 (22:06 +0000)
committertimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 31 Jul 2014 22:06:10 +0000 (22:06 +0000)
https://bugs.webkit.org/show_bug.cgi?id=135442
<rdar://problem/17614632>

Reviewed by Simon Fraser.

* bindings/objc/DOM.mm:
(-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):
Scale the NSImage size by the device scale factor,
similar to what we did for drag images in r167403.
Ideally this scaling would happen in the code that
generates the images, but this is a much larger change
with much more regression potential.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@171889 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/bindings/objc/DOM.mm

index 4a0d50d5e3b36c53e6f3a7f1707cd9f0066b26c6..c691e35ba145e9b85c69d76a5654ee15037c6b1a 100644 (file)
@@ -1,3 +1,19 @@
+2014-07-31  Tim Horton  <timothy_horton@apple.com>
+
+        DOM::renderedImageForcingBlackText returns an image with the wrong logical size on 2x displays
+        https://bugs.webkit.org/show_bug.cgi?id=135442
+        <rdar://problem/17614632>
+
+        Reviewed by Simon Fraser.
+
+        * bindings/objc/DOM.mm:
+        (-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):
+        Scale the NSImage size by the device scale factor,
+        similar to what we did for drag images in r167403.
+        Ideally this scaling would happen in the code that
+        generates the images, but this is a much larger change
+        with much more regression potential.
+
 2014-07-31  Bear Travis  <betravis@adobe.com>
 
         [CSS Font Loading] Rename document.fontloader to document.fonts
index df6c0f1796c9092f0fe3a3acd11d46fae3fda317..12b187f9701e840c0646ca311c19d66013d41a6f 100644 (file)
@@ -46,6 +46,7 @@
 #import "Image.h"
 #import "JSNode.h"
 #import "NodeFilter.h"
+#import "Page.h"
 #import "Range.h"
 #import "RenderImage.h"
 #import "ScriptController.h"
@@ -609,7 +610,13 @@ id <DOMEventTarget> kit(WebCore::EventTarget* eventTarget)
     if (!frame)
         return nil;
 
-    return createDragImageForRange(*frame, *range, forceBlackText).autorelease();
+    RetainPtr<NSImage> renderedImage = createDragImageForRange(*frame, *range, forceBlackText);
+
+    IntSize size([renderedImage size]);
+    size.scale(1 / frame->page()->deviceScaleFactor());
+    [renderedImage setSize:size];
+
+    return renderedImage.autorelease();
 }
 
 - (NSArray *)textRects