* refactor: electron::util::AddImageSkiaRepFromJPEG() takes a span arg
* refactor: electron::util::AddImageSkiaRepFromPNG() takes a span arg
* refactor: electron::util::AddImageSkiaRepFromBuffer() takes a span arg
* feat: add Node-buffer-to-base-span helper function
* refactor: electron::api::NativeImage::CreateFromPNG() now takes a span param
* refactor: electron::api::NativeImage::CreateFromJPEG() now takes a span param
* refactor: use base::as_byte_span()
* fix: -Wunsafe-buffer-usage warning in NativeImage::CreateFromNamedImage()
Warning fixed by this commit:
../../electron/shell/common/api/electron_api_native_image_mac.mm:131:11: error: function introduces unsafe buffer manipulation [-Werror,-Wunsafe-buffer-usage]
  131 |           {reinterpret_cast<const uint8_t*>((char*)[png_data bytes]),
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  132 |            [png_data length]});
      |            ~~~~~~~~~~~~~~~~~~
../../electron/shell/common/api/electron_api_native_image_mac.mm:131:11: note: See //docs/unsafe_buffers.md for help.
* chore: add // SAFETY comment for Node-buffer-to-span func
* chore: add // SAFETY comment for NSData-to-span func
		
	
			
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			1.2 KiB
			
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			1.2 KiB
			
		
	
	
	
		
			C++
		
	
	
	
	
	
// Copyright (c) 2019 GitHub, Inc.
 | 
						|
// Use of this source code is governed by the MIT license that can be
 | 
						|
// found in the LICENSE file.
 | 
						|
 | 
						|
#ifndef ELECTRON_SHELL_COMMON_SKIA_UTIL_H_
 | 
						|
#define ELECTRON_SHELL_COMMON_SKIA_UTIL_H_
 | 
						|
 | 
						|
#include <cstdint>
 | 
						|
 | 
						|
#include "base/containers/span.h"
 | 
						|
 | 
						|
namespace base {
 | 
						|
class FilePath;
 | 
						|
}  // namespace base
 | 
						|
 | 
						|
namespace gfx {
 | 
						|
class ImageSkia;
 | 
						|
}
 | 
						|
 | 
						|
namespace electron::util {
 | 
						|
 | 
						|
bool PopulateImageSkiaRepsFromPath(gfx::ImageSkia* image,
 | 
						|
                                   const base::FilePath& path);
 | 
						|
 | 
						|
bool AddImageSkiaRepFromBuffer(gfx::ImageSkia* image,
 | 
						|
                               base::span<const uint8_t> data,
 | 
						|
                               int width,
 | 
						|
                               int height,
 | 
						|
                               double scale_factor);
 | 
						|
 | 
						|
bool AddImageSkiaRepFromJPEG(gfx::ImageSkia* image,
 | 
						|
                             base::span<const uint8_t> data,
 | 
						|
                             double scale_factor);
 | 
						|
 | 
						|
bool AddImageSkiaRepFromPNG(gfx::ImageSkia* image,
 | 
						|
                            base::span<const uint8_t> data,
 | 
						|
                            double scale_factor);
 | 
						|
 | 
						|
#if BUILDFLAG(IS_WIN)
 | 
						|
bool ReadImageSkiaFromICO(gfx::ImageSkia* image, HICON icon);
 | 
						|
#endif
 | 
						|
 | 
						|
}  // namespace electron::util
 | 
						|
 | 
						|
#endif  // ELECTRON_SHELL_COMMON_SKIA_UTIL_H_
 |