diff --git a/atom/common/api/atom_api_native_image.cc b/atom/common/api/atom_api_native_image.cc index b68ddda592c..7437090111a 100644 --- a/atom/common/api/atom_api_native_image.cc +++ b/atom/common/api/atom_api_native_image.cc @@ -231,8 +231,8 @@ HICON NativeImage::GetHICON(int size) { #endif v8::Local NativeImage::ToPNG(v8::Isolate* isolate) { - if (HasRepresentation(1.0)) { - scoped_refptr png = image_.As1xPNGBytes(); + scoped_refptr png = image_.As1xPNGBytes(); + if (IsEmpty() || png->size() > 0) { const char* data = reinterpret_cast(png->front()); const size_t length = static_cast(png->size()); return node::Buffer::Copy(isolate, data, length).ToLocalChecked(); @@ -264,12 +264,11 @@ v8::Local NativeImage::ToJPEG(v8::Isolate* isolate, int quality) { } std::string NativeImage::ToDataURL() { - if (HasRepresentation(1.0)) { - scoped_refptr png = image_.As1xPNGBytes(); + scoped_refptr png = image_.As1xPNGBytes(); + if (IsEmpty() || png->size() > 0) return webui::GetPngDataUrl(png->front(), png->size()); - } else { + else return webui::GetBitmapDataUrl(image_.AsBitmap()); - } } v8::Local NativeImage::GetBitmap(v8::Isolate* isolate) { @@ -304,10 +303,6 @@ bool NativeImage::IsEmpty() { return image_.IsEmpty(); } -bool NativeImage::HasRepresentation(float scale_factor) { - return image_.AsImageSkia().HasRepresentation(scale_factor); -} - gfx::Size NativeImage::GetSize() { return image_.Size(); } @@ -479,7 +474,6 @@ void NativeImage::BuildPrototype( .SetMethod("resize", &NativeImage::Resize) .SetMethod("crop", &NativeImage::Crop) .SetMethod("getAspectRatio", &NativeImage::GetAspectRatio) - .SetMethod("hasRepresentation", &NativeImage::HasRepresentation) // TODO(kevinsawicki): Remove in 2.0, deprecate before then with warnings .SetMethod("toPng", &NativeImage::ToPNG) .SetMethod("toJpeg", &NativeImage::ToJPEG); diff --git a/atom/common/api/atom_api_native_image.h b/atom/common/api/atom_api_native_image.h index a653f15e0a7..ee1b5f5d4b8 100644 --- a/atom/common/api/atom_api_native_image.h +++ b/atom/common/api/atom_api_native_image.h @@ -83,7 +83,6 @@ class NativeImage : public mate::Wrappable { const gfx::Rect& rect); std::string ToDataURL(); bool IsEmpty(); - bool HasRepresentation(float scale_factor); gfx::Size GetSize(); float GetAspectRatio(); diff --git a/spec/api-native-image-spec.js b/spec/api-native-image-spec.js index fd6aee9f1ea..7e32fef5612 100644 --- a/spec/api-native-image-spec.js +++ b/spec/api-native-image-spec.js @@ -9,7 +9,6 @@ describe('nativeImage module', () => { it('returns an empty image', () => { const empty = nativeImage.createEmpty() assert.equal(empty.isEmpty(), true) - assert.equal(empty.hasRepresentation(1.0), false) assert.equal(empty.getAspectRatio(), 1) assert.equal(empty.toDataURL(), 'data:image/png;base64,') assert.deepEqual(empty.getSize(), {width: 0, height: 0}) @@ -94,12 +93,9 @@ describe('nativeImage module', () => { scaleFactor: 2.0 }) assert.deepEqual(imageB.getSize(), {width: 269, height: 95}) - assert.equal(imageB.hasRepresentation(1.0), false) - assert.equal(imageB.hasRepresentation(2.0), true) const imageC = nativeImage.createFromDataURL(imageB.toDataURL()) assert.deepEqual(imageC.getSize(), {width: 538, height: 190}) - assert.equal(imageC.hasRepresentation(1.0), false) assert(imageB.toBitmap().equals(imageC.toBitmap())) }) }) @@ -113,12 +109,9 @@ describe('nativeImage module', () => { scaleFactor: 2.0 }) assert.deepEqual(imageB.getSize(), {width: 269, height: 95}) - assert.equal(imageB.hasRepresentation(1.0), false) - assert.equal(imageB.hasRepresentation(2.0), true) const imageC = nativeImage.createFromBuffer(imageB.toPNG()) assert.deepEqual(imageC.getSize(), {width: 538, height: 190}) - assert.equal(imageC.hasRepresentation(1.0), true) assert(imageB.toBitmap().equals(imageC.toBitmap())) }) })