fix: remove old section defaults so migrate diff shows correct direction
Old sections (rendering, performance, privacy, runtime) were still registered as viper defaults, causing `dumber config migrate` to show them as "new" after migration. Since checkLegacyFormat() blocks loading with old sections, users must migrate first — old defaults are no longer needed. Kept: media defaults for non-migrated fields (hardware_decoding, prefer_av1, show_diagnostics). Moved default_webpage_zoom/default_ui_scale to their own setter since they're top-level keys unrelated to the engine migration.
- commit
- c1c32b5bc3eb358dcdd4945c43818f8058ac8d34
- author
- brice · · 2026-03-15 19:53 UTC
- parent
- 4afa706
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
2 files · +25 -50
M internal/infrastructure/config/loader.go +6 -47
| @@ -429,17 +429,14 @@ func (m *Manager) setDefaults() { | |||
| 429 | 429 | m.setDebugDefaults(defaults) | |
| 430 | 430 | m.setAppearanceDefaults(defaults) | |
| 431 | 431 | m.setEngineDefaults(defaults) | |
| 432 | - | m.setRenderingDefaults(defaults) | |
| 433 | - | m.setPrivacyDefaults(defaults) | |
| 432 | + | m.setZoomAndScaleDefaults(defaults) | |
| 434 | 433 | m.setWorkspaceDefaults(defaults) | |
| 435 | 434 | m.setContentFilteringDefaults(defaults) | |
| 436 | 435 | m.setClipboardDefaults(defaults) | |
| 437 | 436 | m.setOmniboxDefaults(defaults) | |
| 438 | 437 | m.setMediaDefaults(defaults) | |
| 439 | - | m.setRuntimeDefaults(defaults) | |
| 440 | 438 | m.setSessionDefaults(defaults) | |
| 441 | 439 | m.setUpdateDefaults(defaults) | |
| 442 | - | m.setPerformanceDefaults(defaults) | |
| 443 | 440 | m.setDownloadsDefaults(defaults) | |
| 444 | 441 | } | |
| 445 | 442 | ||
| @@ -489,27 +486,11 @@ func (m *Manager) setAppearanceDefaults(defaults *Config) { | |||
| 489 | 486 | m.viper.SetDefault("appearance.color_scheme", defaults.Appearance.ColorScheme) | |
| 490 | 487 | } | |
| 491 | 488 | ||
| 492 | - | func (m *Manager) setRenderingDefaults(defaults *Config) { | |
| 493 | - | m.viper.SetDefault("rendering.mode", string(defaults.Rendering.Mode)) | |
| 494 | - | m.viper.SetDefault("rendering.disable_dmabuf_renderer", defaults.Rendering.DisableDMABufRenderer) | |
| 495 | - | m.viper.SetDefault("rendering.force_compositing_mode", defaults.Rendering.ForceCompositingMode) | |
| 496 | - | m.viper.SetDefault("rendering.disable_compositing_mode", defaults.Rendering.DisableCompositingMode) | |
| 497 | - | m.viper.SetDefault("rendering.gsk_renderer", string(defaults.Rendering.GSKRenderer)) | |
| 498 | - | m.viper.SetDefault("rendering.disable_mipmaps", defaults.Rendering.DisableMipmaps) | |
| 499 | - | m.viper.SetDefault("rendering.prefer_gl", defaults.Rendering.PreferGL) | |
| 500 | - | m.viper.SetDefault("rendering.draw_compositing_indicators", defaults.Rendering.DrawCompositingIndicators) | |
| 501 | - | m.viper.SetDefault("rendering.show_fps", defaults.Rendering.ShowFPS) | |
| 502 | - | m.viper.SetDefault("rendering.sample_memory", defaults.Rendering.SampleMemory) | |
| 503 | - | m.viper.SetDefault("rendering.debug_frames", defaults.Rendering.DebugFrames) | |
| 489 | + | func (m *Manager) setZoomAndScaleDefaults(defaults *Config) { | |
| 504 | 490 | m.viper.SetDefault("default_webpage_zoom", defaults.DefaultWebpageZoom) | |
| 505 | 491 | m.viper.SetDefault("default_ui_scale", defaults.DefaultUIScale) | |
| 506 | 492 | } | |
| 507 | 493 | ||
| 508 | - | func (m *Manager) setPrivacyDefaults(defaults *Config) { | |
| 509 | - | m.viper.SetDefault("privacy.cookie_policy", string(defaults.Privacy.CookiePolicy)) | |
| 510 | - | m.viper.SetDefault("privacy.itp_enabled", defaults.Privacy.ITPEnabled) | |
| 511 | - | } | |
| 512 | - | ||
| 513 | 494 | func (m *Manager) setWorkspaceDefaults(defaults *Config) { | |
| 514 | 495 | m.viper.SetDefault("workspace.new_pane_url", defaults.Workspace.NewPaneURL) | |
| 515 | 496 | m.viper.SetDefault("workspace.pane_mode.activation_shortcut", defaults.Workspace.PaneMode.ActivationShortcut) | |
| @@ -563,17 +544,14 @@ func (m *Manager) setOmniboxDefaults(defaults *Config) { | |||
| 563 | 544 | } | |
| 564 | 545 | ||
| 565 | 546 | func (m *Manager) setMediaDefaults(defaults *Config) { | |
| 547 | + | // GStreamer fields (force_vsync, gl_rendering_mode, gstreamer_debug_level) | |
| 548 | + | // have moved to [engine.webkit] — only non-migrated media fields remain here. | |
| 566 | 549 | m.viper.SetDefault("media.hardware_decoding", string(defaults.Media.HardwareDecodingMode)) | |
| 567 | 550 | m.viper.SetDefault("media.prefer_av1", defaults.Media.PreferAV1) | |
| 568 | 551 | m.viper.SetDefault("media.show_diagnostics", defaults.Media.ShowDiagnosticsOnStartup) | |
| 569 | - | m.viper.SetDefault("media.force_vsync", defaults.Media.ForceVSync) | |
| 570 | - | m.viper.SetDefault("media.gl_rendering_mode", string(defaults.Media.GLRenderingMode)) | |
| 571 | - | m.viper.SetDefault("media.gstreamer_debug_level", defaults.Media.GStreamerDebugLevel) | |
| 572 | 552 | } | |
| 573 | 553 | ||
| 574 | - | func (m *Manager) setRuntimeDefaults(defaults *Config) { | |
| 575 | - | m.viper.SetDefault("runtime.prefix", defaults.Runtime.Prefix) | |
| 576 | - | } | |
| 554 | + | // setRuntimeDefaults removed — runtime.prefix moved to [engine.webkit]. | |
| 577 | 555 | ||
| 578 | 556 | func (m *Manager) setSessionDefaults(defaults *Config) { | |
| 579 | 557 | m.viper.SetDefault("session.auto_restore", defaults.Session.AutoRestore) | |
| @@ -591,26 +569,7 @@ func (m *Manager) setUpdateDefaults(defaults *Config) { | |||
| 591 | 569 | m.viper.SetDefault("update.notify_on_new_settings", defaults.Update.NotifyOnNewSettings) | |
| 592 | 570 | } | |
| 593 | 571 | ||
| 594 | - | func (m *Manager) setPerformanceDefaults(defaults *Config) { | |
| 595 | - | m.viper.SetDefault("performance.profile", string(defaults.Performance.Profile)) | |
| 596 | - | m.viper.SetDefault("performance.zoom_cache_size", defaults.Performance.ZoomCacheSize) | |
| 597 | - | m.viper.SetDefault("performance.webview_pool_prewarm_count", defaults.Performance.WebViewPoolPrewarmCount) | |
| 598 | - | // Skia threading (only used when profile = "custom") | |
| 599 | - | m.viper.SetDefault("performance.skia_cpu_painting_threads", defaults.Performance.SkiaCPUPaintingThreads) | |
| 600 | - | m.viper.SetDefault("performance.skia_gpu_painting_threads", defaults.Performance.SkiaGPUPaintingThreads) | |
| 601 | - | m.viper.SetDefault("performance.skia_enable_cpu_rendering", defaults.Performance.SkiaEnableCPURendering) | |
| 602 | - | // Web process memory pressure | |
| 603 | - | m.viper.SetDefault("performance.web_process_memory_limit_mb", defaults.Performance.WebProcessMemoryLimitMB) | |
| 604 | - | m.viper.SetDefault("performance.web_process_memory_poll_interval_sec", defaults.Performance.WebProcessMemoryPollIntervalSec) | |
| 605 | - | m.viper.SetDefault("performance.web_process_memory_conservative_threshold", defaults.Performance.WebProcessMemoryConservativeThreshold) | |
| 606 | - | m.viper.SetDefault("performance.web_process_memory_strict_threshold", defaults.Performance.WebProcessMemoryStrictThreshold) | |
| 607 | - | // Network process memory pressure | |
| 608 | - | m.viper.SetDefault("performance.network_process_memory_limit_mb", defaults.Performance.NetworkProcessMemoryLimitMB) | |
| 609 | - | m.viper.SetDefault("performance.network_process_memory_poll_interval_sec", defaults.Performance.NetworkProcessMemoryPollIntervalSec) | |
| 610 | - | netConservativeThreshold := defaults.Performance.NetworkProcessMemoryConservativeThreshold | |
| 611 | - | m.viper.SetDefault("performance.network_process_memory_conservative_threshold", netConservativeThreshold) | |
| 612 | - | m.viper.SetDefault("performance.network_process_memory_strict_threshold", defaults.Performance.NetworkProcessMemoryStrictThreshold) | |
| 613 | - | } | |
| 572 | + | // setPerformanceDefaults removed — all fields moved to [engine]/[engine.webkit]. | |
| 614 | 573 | ||
| 615 | 574 | func (m *Manager) setDownloadsDefaults(defaults *Config) { | |
| 616 | 575 | m.viper.SetDefault("downloads.path", defaults.Downloads.Path) | |
| @@ -429,17 +429,14 @@ func (m *Manager) setDefaults() { | |||||
| 429 | m.setDebugDefaults(defaults) | 429 | m.setDebugDefaults(defaults) | ||
| 430 | m.setAppearanceDefaults(defaults) | 430 | m.setAppearanceDefaults(defaults) | ||
| 431 | m.setEngineDefaults(defaults) | 431 | m.setEngineDefaults(defaults) | ||
| 432 | - | m.setRenderingDefaults(defaults) | 432 | + | m.setZoomAndScaleDefaults(defaults) |
| 433 | - | m.setPrivacyDefaults(defaults) | |||
| 434 | m.setWorkspaceDefaults(defaults) | 433 | m.setWorkspaceDefaults(defaults) | ||
| 435 | m.setContentFilteringDefaults(defaults) | 434 | m.setContentFilteringDefaults(defaults) | ||
| 436 | m.setClipboardDefaults(defaults) | 435 | m.setClipboardDefaults(defaults) | ||
| 437 | m.setOmniboxDefaults(defaults) | 436 | m.setOmniboxDefaults(defaults) | ||
| 438 | m.setMediaDefaults(defaults) | 437 | m.setMediaDefaults(defaults) | ||
| 439 | - | m.setRuntimeDefaults(defaults) | |||
| 440 | m.setSessionDefaults(defaults) | 438 | m.setSessionDefaults(defaults) | ||
| 441 | m.setUpdateDefaults(defaults) | 439 | m.setUpdateDefaults(defaults) | ||
| 442 | - | m.setPerformanceDefaults(defaults) | |||
| 443 | m.setDownloadsDefaults(defaults) | 440 | m.setDownloadsDefaults(defaults) | ||
| 444 | } | 441 | } | ||
| 445 | 442 | ||||
| @@ -489,27 +486,11 @@ func (m *Manager) setAppearanceDefaults(defaults *Config) { | |||||
| 489 | m.viper.SetDefault("appearance.color_scheme", defaults.Appearance.ColorScheme) | 486 | m.viper.SetDefault("appearance.color_scheme", defaults.Appearance.ColorScheme) | ||
| 490 | } | 487 | } | ||
| 491 | 488 | ||||
| 492 | - | func (m *Manager) setRenderingDefaults(defaults *Config) { | 489 | + | func (m *Manager) setZoomAndScaleDefaults(defaults *Config) { |
| 493 | - | m.viper.SetDefault("rendering.mode", string(defaults.Rendering.Mode)) | |||
| 494 | - | m.viper.SetDefault("rendering.disable_dmabuf_renderer", defaults.Rendering.DisableDMABufRenderer) | |||
| 495 | - | m.viper.SetDefault("rendering.force_compositing_mode", defaults.Rendering.ForceCompositingMode) | |||
| 496 | - | m.viper.SetDefault("rendering.disable_compositing_mode", defaults.Rendering.DisableCompositingMode) | |||
| 497 | - | m.viper.SetDefault("rendering.gsk_renderer", string(defaults.Rendering.GSKRenderer)) | |||
| 498 | - | m.viper.SetDefault("rendering.disable_mipmaps", defaults.Rendering.DisableMipmaps) | |||
| 499 | - | m.viper.SetDefault("rendering.prefer_gl", defaults.Rendering.PreferGL) | |||
| 500 | - | m.viper.SetDefault("rendering.draw_compositing_indicators", defaults.Rendering.DrawCompositingIndicators) | |||
| 501 | - | m.viper.SetDefault("rendering.show_fps", defaults.Rendering.ShowFPS) | |||
| 502 | - | m.viper.SetDefault("rendering.sample_memory", defaults.Rendering.SampleMemory) | |||
| 503 | - | m.viper.SetDefault("rendering.debug_frames", defaults.Rendering.DebugFrames) | |||
| 504 | m.viper.SetDefault("default_webpage_zoom", defaults.DefaultWebpageZoom) | 490 | m.viper.SetDefault("default_webpage_zoom", defaults.DefaultWebpageZoom) | ||
| 505 | m.viper.SetDefault("default_ui_scale", defaults.DefaultUIScale) | 491 | m.viper.SetDefault("default_ui_scale", defaults.DefaultUIScale) | ||
| 506 | } | 492 | } | ||
| 507 | 493 | ||||
| 508 | - | func (m *Manager) setPrivacyDefaults(defaults *Config) { | |||
| 509 | - | m.viper.SetDefault("privacy.cookie_policy", string(defaults.Privacy.CookiePolicy)) | |||
| 510 | - | m.viper.SetDefault("privacy.itp_enabled", defaults.Privacy.ITPEnabled) | |||
| 511 | - | } | |||
| 512 | - | ||||
| 513 | func (m *Manager) setWorkspaceDefaults(defaults *Config) { | 494 | func (m *Manager) setWorkspaceDefaults(defaults *Config) { | ||
| 514 | m.viper.SetDefault("workspace.new_pane_url", defaults.Workspace.NewPaneURL) | 495 | m.viper.SetDefault("workspace.new_pane_url", defaults.Workspace.NewPaneURL) | ||
| 515 | m.viper.SetDefault("workspace.pane_mode.activation_shortcut", defaults.Workspace.PaneMode.ActivationShortcut) | 496 | m.viper.SetDefault("workspace.pane_mode.activation_shortcut", defaults.Workspace.PaneMode.ActivationShortcut) | ||
| @@ -563,17 +544,14 @@ func (m *Manager) setOmniboxDefaults(defaults *Config) { | |||||
| 563 | } | 544 | } | ||
| 564 | 545 | ||||
| 565 | func (m *Manager) setMediaDefaults(defaults *Config) { | 546 | func (m *Manager) setMediaDefaults(defaults *Config) { | ||
| 547 | + | // GStreamer fields (force_vsync, gl_rendering_mode, gstreamer_debug_level) | |||
| 548 | + | // have moved to [engine.webkit] — only non-migrated media fields remain here. | |||
| 566 | m.viper.SetDefault("media.hardware_decoding", string(defaults.Media.HardwareDecodingMode)) | 549 | m.viper.SetDefault("media.hardware_decoding", string(defaults.Media.HardwareDecodingMode)) | ||
| 567 | m.viper.SetDefault("media.prefer_av1", defaults.Media.PreferAV1) | 550 | m.viper.SetDefault("media.prefer_av1", defaults.Media.PreferAV1) | ||
| 568 | m.viper.SetDefault("media.show_diagnostics", defaults.Media.ShowDiagnosticsOnStartup) | 551 | m.viper.SetDefault("media.show_diagnostics", defaults.Media.ShowDiagnosticsOnStartup) | ||
| 569 | - | m.viper.SetDefault("media.force_vsync", defaults.Media.ForceVSync) | |||
| 570 | - | m.viper.SetDefault("media.gl_rendering_mode", string(defaults.Media.GLRenderingMode)) | |||
| 571 | - | m.viper.SetDefault("media.gstreamer_debug_level", defaults.Media.GStreamerDebugLevel) | |||
| 572 | } | 552 | } | ||
| 573 | 553 | ||||
| 574 | - | func (m *Manager) setRuntimeDefaults(defaults *Config) { | 554 | + | // setRuntimeDefaults removed — runtime.prefix moved to [engine.webkit]. |
| 575 | - | m.viper.SetDefault("runtime.prefix", defaults.Runtime.Prefix) | |||
| 576 | - | } | |||
| 577 | 555 | ||||
| 578 | func (m *Manager) setSessionDefaults(defaults *Config) { | 556 | func (m *Manager) setSessionDefaults(defaults *Config) { | ||
| 579 | m.viper.SetDefault("session.auto_restore", defaults.Session.AutoRestore) | 557 | m.viper.SetDefault("session.auto_restore", defaults.Session.AutoRestore) | ||
| @@ -591,26 +569,7 @@ func (m *Manager) setUpdateDefaults(defaults *Config) { | |||||
| 591 | m.viper.SetDefault("update.notify_on_new_settings", defaults.Update.NotifyOnNewSettings) | 569 | m.viper.SetDefault("update.notify_on_new_settings", defaults.Update.NotifyOnNewSettings) | ||
| 592 | } | 570 | } | ||
| 593 | 571 | ||||
| 594 | - | func (m *Manager) setPerformanceDefaults(defaults *Config) { | 572 | + | // setPerformanceDefaults removed — all fields moved to [engine]/[engine.webkit]. |
| 595 | - | m.viper.SetDefault("performance.profile", string(defaults.Performance.Profile)) | |||
| 596 | - | m.viper.SetDefault("performance.zoom_cache_size", defaults.Performance.ZoomCacheSize) | |||
| 597 | - | m.viper.SetDefault("performance.webview_pool_prewarm_count", defaults.Performance.WebViewPoolPrewarmCount) | |||
| 598 | - | // Skia threading (only used when profile = "custom") | |||
| 599 | - | m.viper.SetDefault("performance.skia_cpu_painting_threads", defaults.Performance.SkiaCPUPaintingThreads) | |||
| 600 | - | m.viper.SetDefault("performance.skia_gpu_painting_threads", defaults.Performance.SkiaGPUPaintingThreads) | |||
| 601 | - | m.viper.SetDefault("performance.skia_enable_cpu_rendering", defaults.Performance.SkiaEnableCPURendering) | |||
| 602 | - | // Web process memory pressure | |||
| 603 | - | m.viper.SetDefault("performance.web_process_memory_limit_mb", defaults.Performance.WebProcessMemoryLimitMB) | |||
| 604 | - | m.viper.SetDefault("performance.web_process_memory_poll_interval_sec", defaults.Performance.WebProcessMemoryPollIntervalSec) | |||
| 605 | - | m.viper.SetDefault("performance.web_process_memory_conservative_threshold", defaults.Performance.WebProcessMemoryConservativeThreshold) | |||
| 606 | - | m.viper.SetDefault("performance.web_process_memory_strict_threshold", defaults.Performance.WebProcessMemoryStrictThreshold) | |||
| 607 | - | // Network process memory pressure | |||
| 608 | - | m.viper.SetDefault("performance.network_process_memory_limit_mb", defaults.Performance.NetworkProcessMemoryLimitMB) | |||
| 609 | - | m.viper.SetDefault("performance.network_process_memory_poll_interval_sec", defaults.Performance.NetworkProcessMemoryPollIntervalSec) | |||
| 610 | - | netConservativeThreshold := defaults.Performance.NetworkProcessMemoryConservativeThreshold | |||
| 611 | - | m.viper.SetDefault("performance.network_process_memory_conservative_threshold", netConservativeThreshold) | |||
| 612 | - | m.viper.SetDefault("performance.network_process_memory_strict_threshold", defaults.Performance.NetworkProcessMemoryStrictThreshold) | |||
| 613 | - | } | |||
| 614 | 573 | ||||
| 615 | func (m *Manager) setDownloadsDefaults(defaults *Config) { | 574 | func (m *Manager) setDownloadsDefaults(defaults *Config) { | ||
| 616 | m.viper.SetDefault("downloads.path", defaults.Downloads.Path) | 575 | m.viper.SetDefault("downloads.path", defaults.Downloads.Path) | ||
M internal/infrastructure/config/loader_test.go +19 -3
| @@ -7,12 +7,28 @@ import ( | |||
| 7 | 7 | "github.com/stretchr/testify/assert" | |
| 8 | 8 | ) | |
| 9 | 9 | ||
| 10 | - | func TestSetPrivacyDefaults(t *testing.T) { | |
| 10 | + | func TestSetEngineDefaults(t *testing.T) { | |
| 11 | 11 | mgr := &Manager{viper: viper.New()} | |
| 12 | 12 | mgr.setDefaults() | |
| 13 | 13 | ||
| 14 | - | assert.Equal(t, "no_third_party", mgr.viper.GetString("privacy.cookie_policy")) | |
| 15 | - | assert.True(t, mgr.viper.GetBool("privacy.itp_enabled")) | |
| 14 | + | // Universal engine fields | |
| 15 | + | assert.Equal(t, "webkit", mgr.viper.GetString("engine.type")) | |
| 16 | + | assert.Equal(t, "default", mgr.viper.GetString("engine.profile")) | |
| 17 | + | assert.Equal(t, "no_third_party", mgr.viper.GetString("engine.cookie_policy")) | |
| 18 | + | assert.Equal(t, 4, mgr.viper.GetInt("engine.pool_prewarm_count")) | |
| 19 | + | assert.Equal(t, 256, mgr.viper.GetInt("engine.zoom_cache_size")) | |
| 20 | + | ||
| 21 | + | // WebKit-specific engine fields | |
| 22 | + | assert.True(t, mgr.viper.GetBool("engine.webkit.itp_enabled")) | |
| 23 | + | assert.Equal(t, "auto", mgr.viper.GetString("engine.webkit.gsk_renderer")) | |
| 24 | + | assert.Equal(t, "auto", mgr.viper.GetString("engine.webkit.gl_rendering_mode")) | |
| 25 | + | assert.False(t, mgr.viper.GetBool("engine.webkit.disable_dmabuf_renderer")) | |
| 26 | + | ||
| 27 | + | // Old sections should NOT be registered as defaults | |
| 28 | + | assert.Empty(t, mgr.viper.GetString("privacy.cookie_policy")) | |
| 29 | + | assert.Empty(t, mgr.viper.GetString("rendering.mode")) | |
| 30 | + | assert.Empty(t, mgr.viper.GetString("performance.profile")) | |
| 31 | + | assert.Empty(t, mgr.viper.GetString("runtime.prefix")) | |
| 16 | 32 | } | |
| 17 | 33 | ||
| 18 | 34 | func TestNormalizeConfig_PrivacyCookiePolicy(t *testing.T) { | |
| @@ -7,12 +7,28 @@ import ( | |||||
| 7 | "github.com/stretchr/testify/assert" | 7 | "github.com/stretchr/testify/assert" | ||
| 8 | ) | 8 | ) | ||
| 9 | 9 | ||||
| 10 | - | func TestSetPrivacyDefaults(t *testing.T) { | 10 | + | func TestSetEngineDefaults(t *testing.T) { |
| 11 | mgr := &Manager{viper: viper.New()} | 11 | mgr := &Manager{viper: viper.New()} | ||
| 12 | mgr.setDefaults() | 12 | mgr.setDefaults() | ||
| 13 | 13 | ||||
| 14 | - | assert.Equal(t, "no_third_party", mgr.viper.GetString("privacy.cookie_policy")) | 14 | + | // Universal engine fields |
| 15 | - | assert.True(t, mgr.viper.GetBool("privacy.itp_enabled")) | 15 | + | assert.Equal(t, "webkit", mgr.viper.GetString("engine.type")) |
| 16 | + | assert.Equal(t, "default", mgr.viper.GetString("engine.profile")) | |||
| 17 | + | assert.Equal(t, "no_third_party", mgr.viper.GetString("engine.cookie_policy")) | |||
| 18 | + | assert.Equal(t, 4, mgr.viper.GetInt("engine.pool_prewarm_count")) | |||
| 19 | + | assert.Equal(t, 256, mgr.viper.GetInt("engine.zoom_cache_size")) | |||
| 20 | + | ||||
| 21 | + | // WebKit-specific engine fields | |||
| 22 | + | assert.True(t, mgr.viper.GetBool("engine.webkit.itp_enabled")) | |||
| 23 | + | assert.Equal(t, "auto", mgr.viper.GetString("engine.webkit.gsk_renderer")) | |||
| 24 | + | assert.Equal(t, "auto", mgr.viper.GetString("engine.webkit.gl_rendering_mode")) | |||
| 25 | + | assert.False(t, mgr.viper.GetBool("engine.webkit.disable_dmabuf_renderer")) | |||
| 26 | + | ||||
| 27 | + | // Old sections should NOT be registered as defaults | |||
| 28 | + | assert.Empty(t, mgr.viper.GetString("privacy.cookie_policy")) | |||
| 29 | + | assert.Empty(t, mgr.viper.GetString("rendering.mode")) | |||
| 30 | + | assert.Empty(t, mgr.viper.GetString("performance.profile")) | |||
| 31 | + | assert.Empty(t, mgr.viper.GetString("runtime.prefix")) | |||
| 16 | } | 32 | } | ||
| 17 | 33 | ||||
| 18 | func TestNormalizeConfig_PrivacyCookiePolicy(t *testing.T) { | 34 | func TestNormalizeConfig_PrivacyCookiePolicy(t *testing.T) { | ||