diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/ChromiumBookmarkLoader.cs b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/ChromiumBookmarkLoader.cs index acf863bf0..1198444bb 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/ChromiumBookmarkLoader.cs +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/ChromiumBookmarkLoader.cs @@ -4,8 +4,7 @@ using System.IO; using System.Text.Json; using Flow.Launcher.Infrastructure.Logger; using System; -using System.Data.SQLite; -using SkiaSharp; +using Microsoft.Data.Sqlite; namespace Flow.Launcher.Plugin.BrowserBookmark; @@ -143,7 +142,7 @@ public abstract class ChromiumBookmarkLoader : IBookmarkLoader try { - using var connection = new SQLiteConnection($"Data Source={tempDbPath};Version=3;Read Only=True;"); + using var connection = new SqliteConnection($"Data Source={tempDbPath}"); connection.Open(); foreach (var bookmark in bookmarks) @@ -212,15 +211,7 @@ public abstract class ChromiumBookmarkLoader : IBookmarkLoader { try { - using var ms = new MemoryStream(imageData); - using var bitmap = SKBitmap.Decode(ms); - if (bitmap != null) - { - using var image = SKImage.FromBitmap(bitmap); - using var data = image.Encode(SKEncodedImageFormat.Png, 100); - using var fs = File.OpenWrite(outputPath); - data.SaveTo(fs); - } + File.WriteAllBytes(outputPath, imageData); } catch (Exception ex) { diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/FirefoxBookmarkLoader.cs b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/FirefoxBookmarkLoader.cs index e638fa825..134524b6e 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/FirefoxBookmarkLoader.cs +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/FirefoxBookmarkLoader.cs @@ -5,7 +5,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; using Flow.Launcher.Infrastructure.Logger; -using SkiaSharp; namespace Flow.Launcher.Plugin.BrowserBookmark; @@ -142,7 +141,8 @@ public abstract class FirefoxBookmarkLoaderBase : IBookmarkLoader if (imageData != null && imageData.Length > 0) { - var faviconPath = Path.Combine(_faviconCacheDir, $"firefox_{domain}.png"); + var ext = IsSvgData(imageData) ? "svg" : "png"; + var faviconPath = Path.Combine(_faviconCacheDir, $"firefox_{domain}.{ext}"); if (!File.Exists(faviconPath)) { @@ -171,12 +171,12 @@ public abstract class FirefoxBookmarkLoaderBase : IBookmarkLoader { if (data == null || data.Length < 5) return false; - + // SVG 파일 시그니처 확인 // ASCII로 시작하는 SVG XML 헤더 확인 string header = System.Text.Encoding.ASCII.GetString(data, 0, Math.Min(data.Length, 200)).ToLower(); - return header.Contains(" - - -