Alternating colors look nice in tables when embedded in IDE (#8498)
diff --git a/packages/devtools_app/lib/src/screens/inspector/layout_explorer/ui/utils.dart b/packages/devtools_app/lib/src/screens/inspector/layout_explorer/ui/utils.dart
index d6e887b..4c31bc2 100644
--- a/packages/devtools_app/lib/src/screens/inspector/layout_explorer/ui/utils.dart
+++ b/packages/devtools_app/lib/src/screens/inspector/layout_explorer/ui/utils.dart
@@ -7,7 +7,6 @@
 import 'package:devtools_app_shared/ui.dart';
 import 'package:flutter/material.dart';
 
-import '../../../../shared/common_widgets.dart';
 import '../../../../shared/diagnostics/diagnostics_node.dart';
 import '../../../../shared/primitives/utils.dart';
 import '../../inspector_data_models.dart';
diff --git a/packages/devtools_app/lib/src/screens/inspector_v2/layout_explorer/ui/utils.dart b/packages/devtools_app/lib/src/screens/inspector_v2/layout_explorer/ui/utils.dart
index 8c0f202..f151ce7 100644
--- a/packages/devtools_app/lib/src/screens/inspector_v2/layout_explorer/ui/utils.dart
+++ b/packages/devtools_app/lib/src/screens/inspector_v2/layout_explorer/ui/utils.dart
@@ -7,7 +7,6 @@
 import 'package:devtools_app_shared/ui.dart';
 import 'package:flutter/material.dart';
 
-import '../../../../shared/common_widgets.dart';
 import '../../../../shared/diagnostics/diagnostics_node.dart';
 import '../../../../shared/primitives/utils.dart';
 import '../../../inspector/layout_explorer/ui/dimension.dart';
diff --git a/packages/devtools_app/lib/src/shared/common_widgets.dart b/packages/devtools_app/lib/src/shared/common_widgets.dart
index b103521..868d3f6 100644
--- a/packages/devtools_app/lib/src/shared/common_widgets.dart
+++ b/packages/devtools_app/lib/src/shared/common_widgets.dart
@@ -910,36 +910,6 @@
   }
 }
 
-/// Utility extension methods to the [Color] class.
-extension ColorExtension on Color {
-  /// Return a slightly darker color than the current color.
-  Color darken([double percent = 0.05]) {
-    assert(0.0 <= percent && percent <= 1.0);
-    percent = 1.0 - percent;
-
-    final c = this;
-    return Color.from(
-      alpha: c.a,
-      red: c.r * percent,
-      green: c.g * percent,
-      blue: c.b * percent,
-    );
-  }
-
-  /// Return a slightly brighter color than the current color.
-  Color brighten([double percent = 0.05]) {
-    assert(0.0 <= percent && percent <= 1.0);
-
-    final c = this;
-    return Color.from(
-      alpha: c.a,
-      red: c.r + ((1.0 - c.r) * percent),
-      green: c.g + ((1.0 - c.g) * percent),
-      blue: c.b + ((1.0 - c.b) * percent),
-    );
-  }
-}
-
 class BreadcrumbNavigator extends StatelessWidget {
   const BreadcrumbNavigator.builder({
     super.key,
diff --git a/packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md b/packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md
index 94ab92b..a3aa786 100644
--- a/packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md
+++ b/packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md
@@ -37,6 +37,12 @@
 * Fixed a bug that was causing the navigator to lose state when opening the VM
 Flags dialog. - [#8413](https://github.com/flutter/devtools/pull/8413)
 
+* Persist filter settings across sessions. - [#8447](https://github.com/flutter/devtools/pull/8447),
+[#8456](https://github.com/flutter/devtools/pull/8456)
+[#8470](https://github.com/flutter/devtools/pull/8470)
+
+* Tables match IDE theme when embedded in an IDE. - [#8498](https://github.com/flutter/devtools/pull/8498)
+
 ## Inspector updates
 
 - Added a setting to the Flutter Inspector controls that allows users to opt-in to the newly redesigned Flutter Inspector. - [#8342](https://github.com/flutter/devtools/pull/8342)
diff --git a/packages/devtools_app/test/shared/table_test.dart b/packages/devtools_app/test/shared/table_test.dart
index adef8c6..765a23d 100644
--- a/packages/devtools_app/test/shared/table_test.dart
+++ b/packages/devtools_app/test/shared/table_test.dart
@@ -1640,8 +1640,7 @@
         final crackleFinder = find.byKey(const Key('Crackle'));
 
         // Expected ARGB color values.
-        const color1Value =
-            '(a: 1.0, r: 0.9490196078431372, g: 0.9411764705882353, b: 0.9568627450980393)';
+        const color1Value = '(a: 1.0, r: 0.94, g: 0.94, b: 0.94)';
         const color2Value = '(a: 1.0, r: 1.0, g: 1.0, b: 1.0)';
         const rowSelectedColorValue = '(a: 1.0, r: 1.0, g: 1.0, b: 1.0)';
 
diff --git a/packages/devtools_app/test/test_infra/goldens/cpu_profiler/method_table_no_selection.png b/packages/devtools_app/test/test_infra/goldens/cpu_profiler/method_table_no_selection.png
index 2a6225f..2fe9592 100644
--- a/packages/devtools_app/test/test_infra/goldens/cpu_profiler/method_table_no_selection.png
+++ b/packages/devtools_app/test/test_infra/goldens/cpu_profiler/method_table_no_selection.png
Binary files differ
diff --git a/packages/devtools_app/test/test_infra/goldens/cpu_profiler/method_table_with_selection.png b/packages/devtools_app/test/test_infra/goldens/cpu_profiler/method_table_with_selection.png
index 8525ab1..e999435 100644
--- a/packages/devtools_app/test/test_infra/goldens/cpu_profiler/method_table_with_selection.png
+++ b/packages/devtools_app/test/test_infra/goldens/cpu_profiler/method_table_with_selection.png
Binary files differ
diff --git a/packages/devtools_app/test/test_infra/goldens/cpu_profiler/method_table_with_selection_2.png b/packages/devtools_app/test/test_infra/goldens/cpu_profiler/method_table_with_selection_2.png
index 83dca80..7ea0c0a 100644
--- a/packages/devtools_app/test/test_infra/goldens/cpu_profiler/method_table_with_selection_2.png
+++ b/packages/devtools_app/test/test_infra/goldens/cpu_profiler/method_table_with_selection_2.png
Binary files differ
diff --git a/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_errors_2_error_selected.png b/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_errors_2_error_selected.png
index a64dcdc..1649144 100644
--- a/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_errors_2_error_selected.png
+++ b/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_errors_2_error_selected.png
Binary files differ
diff --git a/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_hideable_widget_selected.png b/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_hideable_widget_selected.png
index 4d67286..d2e317a 100644
--- a/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_hideable_widget_selected.png
+++ b/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_hideable_widget_selected.png
Binary files differ
diff --git a/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_hideable_widget_selected_from_search.png b/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_hideable_widget_selected_from_search.png
index 4d67286..d2e317a 100644
--- a/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_hideable_widget_selected_from_search.png
+++ b/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_hideable_widget_selected_from_search.png
Binary files differ
diff --git a/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_implementation_widgets_collapsed.png b/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_implementation_widgets_collapsed.png
index 1eedbe1..21bdb63 100644
--- a/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_implementation_widgets_collapsed.png
+++ b/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_implementation_widgets_collapsed.png
Binary files differ
diff --git a/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_implementation_widgets_hidden.png b/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_implementation_widgets_hidden.png
index 5cc7cc0..dfefc44 100644
--- a/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_implementation_widgets_hidden.png
+++ b/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_implementation_widgets_hidden.png
Binary files differ
diff --git a/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_select_center.png b/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_select_center.png
index 341afce..0af5586 100644
--- a/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_select_center.png
+++ b/packages/devtools_app/test/test_infra/goldens/integration_inspector_v2_select_center.png
Binary files differ
diff --git a/packages/devtools_app/test/test_infra/goldens/memory/load_offline_data_trace_tab.png b/packages/devtools_app/test/test_infra/goldens/memory/load_offline_data_trace_tab.png
index 6d28cfb..2119d89 100644
--- a/packages/devtools_app/test/test_infra/goldens/memory/load_offline_data_trace_tab.png
+++ b/packages/devtools_app/test/test_infra/goldens/memory/load_offline_data_trace_tab.png
Binary files differ
diff --git a/packages/devtools_app/test/test_infra/goldens/memory_diff_empty1.png b/packages/devtools_app/test/test_infra/goldens/memory_diff_empty1.png
index 3952622..b12a8a8 100644
--- a/packages/devtools_app/test/test_infra/goldens/memory_diff_empty1.png
+++ b/packages/devtools_app/test/test_infra/goldens/memory_diff_empty1.png
Binary files differ
diff --git a/packages/devtools_app/test/test_infra/goldens/memory_diff_empty2.png b/packages/devtools_app/test/test_infra/goldens/memory_diff_empty2.png
index 3952622..b12a8a8 100644
--- a/packages/devtools_app/test/test_infra/goldens/memory_diff_empty2.png
+++ b/packages/devtools_app/test/test_infra/goldens/memory_diff_empty2.png
Binary files differ
diff --git a/packages/devtools_app/test/test_infra/goldens/memory_diff_selected_class.png b/packages/devtools_app/test/test_infra/goldens/memory_diff_selected_class.png
index 60bc7da..fd022a9 100644
--- a/packages/devtools_app/test/test_infra/goldens/memory_diff_selected_class.png
+++ b/packages/devtools_app/test/test_infra/goldens/memory_diff_selected_class.png
Binary files differ
diff --git a/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_except_diff.png b/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_except_diff.png
index 9007afe..a46afd7 100644
--- a/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_except_diff.png
+++ b/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_except_diff.png
Binary files differ
diff --git a/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_except_single.png b/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_except_single.png
index 2eea978..f5345c9 100644
--- a/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_except_single.png
+++ b/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_except_single.png
Binary files differ
diff --git a/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_scene_diff.png b/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_scene_diff.png
index 9007afe..a46afd7 100644
--- a/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_scene_diff.png
+++ b/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_scene_diff.png
Binary files differ
diff --git a/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_scene_single.png b/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_scene_single.png
index 2eea978..f5345c9 100644
--- a/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_scene_single.png
+++ b/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_scene_single.png
Binary files differ
diff --git a/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_showAll_diff.png b/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_showAll_diff.png
index 9007afe..a46afd7 100644
--- a/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_showAll_diff.png
+++ b/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_showAll_diff.png
Binary files differ
diff --git a/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_showAll_single.png b/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_showAll_single.png
index 2eea978..f5345c9 100644
--- a/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_showAll_single.png
+++ b/packages/devtools_app/test/test_infra/goldens/memory_diff_snapshot_showAll_single.png
Binary files differ
diff --git a/packages/devtools_app/test/test_infra/goldens/memory_diff_three_snapshots1.png b/packages/devtools_app/test/test_infra/goldens/memory_diff_three_snapshots1.png
index 60bc7da..fd022a9 100644
--- a/packages/devtools_app/test/test_infra/goldens/memory_diff_three_snapshots1.png
+++ b/packages/devtools_app/test/test_infra/goldens/memory_diff_three_snapshots1.png
Binary files differ
diff --git a/packages/devtools_app/test/test_infra/goldens/memory_diff_three_snapshots2.png b/packages/devtools_app/test/test_infra/goldens/memory_diff_three_snapshots2.png
index 60bc7da..fd022a9 100644
--- a/packages/devtools_app/test/test_infra/goldens/memory_diff_three_snapshots2.png
+++ b/packages/devtools_app/test/test_infra/goldens/memory_diff_three_snapshots2.png
Binary files differ
diff --git a/packages/devtools_app_shared/lib/src/ui/theme/theme.dart b/packages/devtools_app_shared/lib/src/ui/theme/theme.dart
index b4aadc0..165d98c 100644
--- a/packages/devtools_app_shared/lib/src/ui/theme/theme.dart
+++ b/packages/devtools_app_shared/lib/src/ui/theme/theme.dart
@@ -125,6 +125,9 @@
     ),
     primaryTextTheme: _devToolsTextTheme(theme, theme.primaryTextTheme),
     textTheme: _devToolsTextTheme(theme, theme.textTheme),
+    colorScheme: theme.colorScheme.copyWith(
+      surface: backgroundColor,
+    ),
   );
 }
 
@@ -359,11 +362,10 @@
   Color get _devtoolsLink =>
       isLight ? const Color(0xFF1976D2) : Colors.lightBlueAccent;
 
-  Color get alternatingBackgroundColor1 =>
-      isLight ? Colors.white : const Color(0xFF1B1B1F);
+  Color get alternatingBackgroundColor1 => surface;
 
   Color get alternatingBackgroundColor2 =>
-      isLight ? const Color(0xFFF2F0F4) : const Color(0xFF303033);
+      isLight ? surface.darken(0.06) : surface.brighten(0.06);
 
   Color get selectedRowBackgroundColor =>
       isLight ? const Color(0xFFC7C6CA) : const Color(0xFF5E5E62);
diff --git a/packages/devtools_app_shared/lib/src/ui/ui_utils.dart b/packages/devtools_app_shared/lib/src/ui/ui_utils.dart
index de16012..9dd9bec 100644
--- a/packages/devtools_app_shared/lib/src/ui/ui_utils.dart
+++ b/packages/devtools_app_shared/lib/src/ui/ui_utils.dart
@@ -45,3 +45,33 @@
     return null;
   }
 }
+
+/// Utility extension methods to the [Color] class.
+extension ColorExtension on Color {
+  /// Return a slightly darker color than the current color.
+  Color darken([double percent = 0.05]) {
+    assert(0.0 <= percent && percent <= 1.0);
+    percent = 1.0 - percent;
+
+    final c = this;
+    return Color.from(
+      alpha: c.a,
+      red: c.r * percent,
+      green: c.g * percent,
+      blue: c.b * percent,
+    );
+  }
+
+  /// Return a slightly brighter color than the current color.
+  Color brighten([double percent = 0.05]) {
+    assert(0.0 <= percent && percent <= 1.0);
+
+    final c = this;
+    return Color.from(
+      alpha: c.a,
+      red: c.r + ((1.0 - c.r) * percent),
+      green: c.g + ((1.0 - c.g) * percent),
+      blue: c.b + ((1.0 - c.b) * percent),
+    );
+  }
+}