electron/shell/common/api
Charles Kerr ac61c74ddc
fix: bugprone-narrowing-conversions warnings in NativeImage (#44708)
* fix: bugprone-narrowing-conversions warning in NativeImage::memory_usage_

- fix signed / unsigned math by using base/numerics/safe_conversions

- make memory_usage_ an int64_t so it can safely take the size_t
  returned by computeByteSize()

Warning fixed by this commit:

../../electron/shell/common/api/electron_api_native_image.cc:155:26: warning: narrowing conversion from 'size_t' (aka 'unsigned long') to signed type 'int32_t' (aka 'int') is implementation-defined [bugprone-narrowing-conversions]
  155 |       new_memory_usage = image_skia->bitmap()->computeByteSize();

* fix: bugprone-narrowing-conversions warnings in NativeImage::CreateFromBitmap()

`SkImageInfo::MakeN32()` and `SkBitmap::allocN32Pixels()` both take int
width and height args, but we were feeding them unsigned ints.

../../electron/shell/common/api/electron_api_native_image.cc:508:36: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
  508 |   auto info = SkImageInfo::MakeN32(width, height, kPremul_SkAlphaType);
      |                                    ^
../../electron/shell/common/api/electron_api_native_image.cc:508:43: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
  508 |   auto info = SkImageInfo::MakeN32(width, height, kPremul_SkAlphaType);
      |                                           ^
../../electron/shell/common/api/electron_api_native_image.cc:524:25: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
  524 |   bitmap.allocN32Pixels(width, height, false);
      |                         ^
../../electron/shell/common/api/electron_api_native_image.cc:524:32: warning: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions]
  524 |   bitmap.allocN32Pixels(width, height, false);
      |                                ^
../../electron/shell/common/api/electron_api_native_image.cc:528:48: warning: narrowing conversion from 'double' to 'float' [bugprone-narrowing-conversions]
  528 |       gfx::ImageSkia::CreateFromBitmap(bitmap, scale_factor);
2024-11-19 16:04:18 -06:00
..
api.mojom chore: bump chromium to 125.0.6412.0 (main) (#41610) 2024-04-15 18:10:32 -04:00
crashpad_support.cc chore: rename built-in modules to bindings to match naming update in node (#37182) 2023-02-09 10:31:38 +09:00
electron_api_asar.cc perf: prefer NewFromUtf8Literal() over NewFromUtf8() for string literals (#44412) 2024-10-28 14:12:32 +01:00
electron_api_clipboard.cc chore: bump chromium to 131.0.6776.0 (main) (#44137) 2024-10-15 11:51:11 -04:00
electron_api_clipboard.h chore: more iwyu (#43063) 2024-07-29 12:42:57 -05:00
electron_api_clipboard_mac.mm chore: bump chromium to 105.0.5173.0 (main) (#34770) 2022-07-13 17:26:16 -04:00
electron_api_command_line.cc chore: remove unused base/ includes (#43688) 2024-09-12 16:05:37 +02:00
electron_api_environment.cc chore: remove unused internal env.unSetVar() (#43148) 2024-08-01 18:41:41 -05:00
electron_api_native_image.cc fix: bugprone-narrowing-conversions warnings in NativeImage (#44708) 2024-11-19 16:04:18 -06:00
electron_api_native_image.h fix: bugprone-narrowing-conversions warnings in NativeImage (#44708) 2024-11-19 16:04:18 -06:00
electron_api_native_image_mac.mm fix: -Wunsafe-buffer-usage warning in didRegisterForRemoteNotificationsWithDeviceToken (#44348) 2024-10-23 14:18:22 -05:00
electron_api_native_image_win.cc refactor: replace remaining NULL with nullptr (#40053) 2023-10-03 12:26:35 -07:00
electron_api_net.cc chore: replace absl::optional<T> with std::optional<T> (#40928) 2024-01-10 16:23:35 -06:00
electron_api_shell.cc chore: more iwyu (#43063) 2024-07-29 12:42:57 -05:00
electron_api_testing.cc chore: bump chromium to 122.0.6261.6 (main) (#40949) 2024-01-25 12:46:30 -05:00
electron_api_url_loader.cc fix: destroy url loader wrapper when JS env exits (#44574) 2024-11-19 11:32:48 -05:00
electron_api_url_loader.h fix: destroy url loader wrapper when JS env exits (#44574) 2024-11-19 11:32:48 -05:00
electron_api_v8_util.cc chore: remove unused KeyWeakMap JS bindings (#43111) 2024-07-31 16:37:04 -05:00
electron_bindings.cc build: make is_mas_build a generated header instead of config (#43737) 2024-09-17 01:38:56 -07:00
electron_bindings.h chore: more iwyu (#43063) 2024-07-29 12:42:57 -05:00
features.cc feat: replace BrowserView with WebContentsView (#35658) 2023-12-13 13:01:03 -08:00