Revert "fix a Scaffold extendBodyBehindAppBar update bug" (#106396)

diff --git a/packages/flutter/lib/src/material/scaffold.dart b/packages/flutter/lib/src/material/scaffold.dart
index 5d02f47..a18184b 100644
--- a/packages/flutter/lib/src/material/scaffold.dart
+++ b/packages/flutter/lib/src/material/scaffold.dart
@@ -875,6 +875,10 @@
 
   @override
   Widget build(BuildContext context) {
+    if (!extendBody && !extendBodyBehindAppBar) {
+      return body;
+    }
+
     return LayoutBuilder(
       builder: (BuildContext context, BoxConstraints constraints) {
         final _BodyBoxConstraints bodyConstraints = constraints as _BodyBoxConstraints;
diff --git a/packages/flutter/test/material/scaffold_test.dart b/packages/flutter/test/material/scaffold_test.dart
index 888fa22..219fdf0 100644
--- a/packages/flutter/test/material/scaffold_test.dart
+++ b/packages/flutter/test/material/scaffold_test.dart
@@ -11,39 +11,6 @@
 import '../widgets/semantics_tester.dart';
 
 void main() {
-  // Regression test for https://github.com/flutter/flutter/issues/103741
-  testWidgets('extendBodyBehindAppBar change should not cause the body widget lose state', (WidgetTester tester) async {
-    final ScrollController controller = ScrollController();
-    Widget buildFrame({required bool extendBodyBehindAppBar}) {
-      return MediaQuery(
-        data: const MediaQueryData(),
-        child: Directionality(
-          textDirection: TextDirection.ltr,
-          child: Scaffold(
-            extendBodyBehindAppBar: extendBodyBehindAppBar,
-            resizeToAvoidBottomInset: false,
-            body: SingleChildScrollView(
-              controller: controller,
-              child: const FlutterLogo(
-                size: 1107,
-              ),
-            ),
-          ),
-        ),
-      );
-    }
-
-    await tester.pumpWidget(buildFrame(extendBodyBehindAppBar: true));
-    expect(controller.position.pixels, 0.0);
-
-    controller.jumpTo(100.0);
-    await tester.pump();
-    expect(controller.position.pixels, 100.0);
-
-    await tester.pumpWidget(buildFrame(extendBodyBehindAppBar: false));
-    expect(controller.position.pixels, 100.0);
-  });
-
   testWidgets('Scaffold drawer callback test', (WidgetTester tester) async {
     bool isDrawerOpen = false;
     bool isEndDrawerOpen = false;
@@ -2434,8 +2401,6 @@
       '   ancestor was:\n'
       '     Builder\n'
       '   The ancestors of this widget were:\n'
-      '     MediaQuery\n'
-      '     LayoutBuilder\n'
       '     _BodyBuilder\n'
       '     MediaQuery\n'
       '     LayoutId-[<_ScaffoldSlot.body>]\n'
diff --git a/packages/flutter/test/widgets/interactive_viewer_test.dart b/packages/flutter/test/widgets/interactive_viewer_test.dart
index a005d91..6834c56 100644
--- a/packages/flutter/test/widgets/interactive_viewer_test.dart
+++ b/packages/flutter/test/widgets/interactive_viewer_test.dart
@@ -1269,9 +1269,11 @@
     testWidgets('LayoutBuilder is only used for InteractiveViewer.builder', (WidgetTester tester) async {
       await tester.pumpWidget(
         MaterialApp(
-          home: Center(
-            child: InteractiveViewer(
-              child: const SizedBox(width: 200.0, height: 200.0),
+          home: Scaffold(
+            body: Center(
+              child: InteractiveViewer(
+                child: const SizedBox(width: 200.0, height: 200.0),
+              ),
             ),
           ),
         ),
@@ -1281,11 +1283,13 @@
 
       await tester.pumpWidget(
         MaterialApp(
-          home: Center(
-            child: InteractiveViewer.builder(
-              builder: (BuildContext context, Quad viewport) {
-                return const SizedBox(width: 200.0, height: 200.0);
-              },
+          home: Scaffold(
+            body: Center(
+              child: InteractiveViewer.builder(
+                builder: (BuildContext context, Quad viewport) {
+                  return const SizedBox(width: 200.0, height: 200.0);
+                },
+              ),
             ),
           ),
         ),
diff --git a/packages/flutter/test/widgets/nested_scroll_view_test.dart b/packages/flutter/test/widgets/nested_scroll_view_test.dart
index 7f54f76..af4af7a 100644
--- a/packages/flutter/test/widgets/nested_scroll_view_test.dart
+++ b/packages/flutter/test/widgets/nested_scroll_view_test.dart
@@ -2360,35 +2360,37 @@
   testWidgets('NestedScrollView works well when rebuilding during scheduleWarmUpFrame', (WidgetTester tester) async {
     bool? isScrolled;
     final Widget myApp = MaterialApp(
-      home: StatefulBuilder(
-        builder: (BuildContext context, StateSetter setState) {
-          return Focus(
-            onFocusChange: (_) => setState( (){} ),
-            child: NestedScrollView(
-              headerSliverBuilder: (BuildContext context, bool boxIsScrolled) {
-                isScrolled = boxIsScrolled;
-                return <Widget>[
-                  const SliverAppBar(
-                    expandedHeight: 200,
-                    title: Text('Test'),
-                  ),
-                ];
-              },
-              body: CustomScrollView(
-                slivers: <Widget>[
-                  SliverList(
-                    delegate: SliverChildBuilderDelegate(
-                          (BuildContext context, int index) {
-                        return const Text('');
-                      },
-                      childCount: 10,
+      home: Scaffold(
+        body: StatefulBuilder(
+          builder: (BuildContext context, StateSetter setState) {
+            return Focus(
+              onFocusChange: (_) => setState( (){} ),
+              child: NestedScrollView(
+                headerSliverBuilder: (BuildContext context, bool boxIsScrolled) {
+                  isScrolled = boxIsScrolled;
+                  return <Widget>[
+                    const SliverAppBar(
+                      expandedHeight: 200,
+                      title: Text('Test'),
                     ),
-                  ),
-                ],
+                  ];
+                },
+                body: CustomScrollView(
+                  slivers: <Widget>[
+                    SliverList(
+                      delegate: SliverChildBuilderDelegate(
+                        (BuildContext context, int index) {
+                          return const Text('');
+                        },
+                        childCount: 10,
+                      ),
+                    ),
+                  ],
+                ),
               ),
-            ),
-          );
-        },
+            );
+          },
+        ),
       ),
     );