Skip to content

Commit fab9833

Browse files
committed
Merge branch '250320BookmarkFavicon' of https://github.com/onesounds/Flow.Launcher into 250320BookmarkFavicon
2 parents 977a8f8 + d2c185e commit fab9833

File tree

3 files changed

+8
-43
lines changed

3 files changed

+8
-43
lines changed

Plugins/Flow.Launcher.Plugin.BrowserBookmark/ChromiumBookmarkLoader.cs

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
using System.Text.Json;
55
using Flow.Launcher.Infrastructure.Logger;
66
using System;
7-
using System.Data.SQLite;
8-
using SkiaSharp;
7+
using Microsoft.Data.Sqlite;
98

109
namespace Flow.Launcher.Plugin.BrowserBookmark;
1110

@@ -143,7 +142,7 @@ private void LoadFaviconsFromDb(string dbPath, List<Bookmark> bookmarks)
143142

144143
try
145144
{
146-
using var connection = new SQLiteConnection($"Data Source={tempDbPath};Version=3;Read Only=True;");
145+
using var connection = new SqliteConnection($"Data Source={tempDbPath}");
147146
connection.Open();
148147

149148
foreach (var bookmark in bookmarks)
@@ -219,15 +218,7 @@ private void SaveBitmapData(byte[] imageData, string outputPath)
219218
{
220219
try
221220
{
222-
using var ms = new MemoryStream(imageData);
223-
using var bitmap = SKBitmap.Decode(ms);
224-
if (bitmap != null)
225-
{
226-
using var image = SKImage.FromBitmap(bitmap);
227-
using var data = image.Encode(SKEncodedImageFormat.Png, 100);
228-
using var fs = File.OpenWrite(outputPath);
229-
data.SaveTo(fs);
230-
}
221+
File.WriteAllBytes(outputPath, imageData);
231222
}
232223
catch (Exception ex)
233224
{

Plugins/Flow.Launcher.Plugin.BrowserBookmark/FirefoxBookmarkLoader.cs

Lines changed: 5 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
using System.IO;
66
using System.Linq;
77
using Flow.Launcher.Infrastructure.Logger;
8-
using SkiaSharp;
98

109
namespace Flow.Launcher.Plugin.BrowserBookmark;
1110

@@ -149,7 +148,8 @@ ORDER BY i.width DESC -- Select largest icon available
149148

150149
if (imageData != null && imageData.Length > 0)
151150
{
152-
var faviconPath = Path.Combine(_faviconCacheDir, $"firefox_{domain}.png");
151+
var ext = IsSvgData(imageData) ? "svg" : "png";
152+
var faviconPath = Path.Combine(_faviconCacheDir, $"firefox_{domain}.{ext}");
153153

154154
if (!File.Exists(faviconPath))
155155
{
@@ -185,12 +185,12 @@ private bool IsSvgData(byte[] data)
185185
{
186186
if (data == null || data.Length < 5)
187187
return false;
188-
188+
189189
// SVG 파일 시그니처 확인
190190
// ASCII로 시작하는 SVG XML 헤더 확인
191191
string header = System.Text.Encoding.ASCII.GetString(data, 0, Math.Min(data.Length, 200)).ToLower();
192192

193-
return header.Contains("<svg") ||
193+
return header.Contains("<svg") ||
194194
header.StartsWith("<?xml") && header.Contains("<svg") ||
195195
header.Contains("image/svg+xml");
196196
}
@@ -199,30 +199,7 @@ private void SaveBitmapData(byte[] imageData, string outputPath)
199199
{
200200
try
201201
{
202-
// SVG 파일 시그니처 확인
203-
bool isSvg = IsSvgData(imageData);
204-
205-
if (isSvg)
206-
{
207-
// SVG 데이터는 있는 그대로 저장 (.svg 확장자 사용)
208-
string svgOutputPath = Path.ChangeExtension(outputPath, ".svg");
209-
File.WriteAllBytes(svgOutputPath, imageData);
210-
// 원래 경로 대신 SVG 경로를 반환하도록 outputPath 변수를 업데이트
211-
File.Copy(svgOutputPath, outputPath, true);
212-
}
213-
else
214-
{
215-
// 기존 비트맵 처리 코드
216-
using var ms = new MemoryStream(imageData);
217-
using var bitmap = SKBitmap.Decode(ms);
218-
if (bitmap != null)
219-
{
220-
using var image = SKImage.FromBitmap(bitmap);
221-
using var data = image.Encode(SKEncodedImageFormat.Png, 100);
222-
using var fs = File.OpenWrite(outputPath);
223-
data.SaveTo(fs);
224-
}
225-
}
202+
File.WriteAllBytes(outputPath, imageData);
226203
}
227204
catch (Exception ex)
228205
{

Plugins/Flow.Launcher.Plugin.BrowserBookmark/Flow.Launcher.Plugin.BrowserBookmark.csproj

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,6 @@
9696

9797
<ItemGroup>
9898
<PackageReference Include="Microsoft.Data.Sqlite" Version="9.0.3" />
99-
<PackageReference Include="SkiaSharp" Version="3.116.1" />
100-
<PackageReference Include="System.Data.SQLite.Core" Version="1.0.119" />
101-
<PackageReference Include="System.Drawing.Common" Version="7.0.0" />
10299
</ItemGroup>
103100

104101
</Project>

0 commit comments

Comments
 (0)