diff --git a/engine/src/flutter/ci/licenses_golden/licenses_flutter b/engine/src/flutter/ci/licenses_golden/licenses_flutter index 6269a3c2e3..ab9a69111f 100644 --- a/engine/src/flutter/ci/licenses_golden/licenses_flutter +++ b/engine/src/flutter/ci/licenses_golden/licenses_flutter @@ -41216,7 +41216,6 @@ ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/font_change_util.dart + ../.. ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/font_fallback_data.dart + ../../../flutter/LICENSE ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/font_fallbacks.dart + ../../../flutter/LICENSE ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/fonts.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/frame_reference.dart + ../../../flutter/LICENSE ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/frame_service.dart + ../../../flutter/LICENSE ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/frame_timing_recorder.dart + ../../../flutter/LICENSE ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/html/backdrop_filter.dart + ../../../flutter/LICENSE @@ -41226,6 +41225,7 @@ ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/html/clip.dart + ../../../flu ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/html/color_filter.dart + ../../../flutter/LICENSE ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/html/debug_canvas_reuse_overlay.dart + ../../../flutter/LICENSE ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/html/dom_canvas.dart + ../../../flutter/LICENSE +ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/html/frame_reference.dart + ../../../flutter/LICENSE ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/html/image.dart + ../../../flutter/LICENSE ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/html/image_filter.dart + ../../../flutter/LICENSE ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/html/offset.dart + ../../../flutter/LICENSE @@ -44170,7 +44170,6 @@ FILE: ../../../flutter/lib/web_ui/lib/src/engine/font_change_util.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/font_fallback_data.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/font_fallbacks.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/fonts.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/frame_reference.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/frame_service.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/frame_timing_recorder.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/backdrop_filter.dart @@ -44180,6 +44179,7 @@ FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/clip.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/color_filter.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/debug_canvas_reuse_overlay.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/dom_canvas.dart +FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/frame_reference.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/image.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/image_filter.dart FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/offset.dart diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine.dart b/engine/src/flutter/lib/web_ui/lib/src/engine.dart index ded0f70384..da467d0ad5 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine.dart @@ -65,7 +65,6 @@ export 'engine/font_change_util.dart'; export 'engine/font_fallback_data.dart'; export 'engine/font_fallbacks.dart'; export 'engine/fonts.dart'; -export 'engine/frame_reference.dart'; export 'engine/frame_service.dart'; export 'engine/frame_timing_recorder.dart'; export 'engine/html/backdrop_filter.dart'; @@ -75,6 +74,7 @@ export 'engine/html/clip.dart'; export 'engine/html/color_filter.dart'; export 'engine/html/debug_canvas_reuse_overlay.dart'; export 'engine/html/dom_canvas.dart'; +export 'engine/html/frame_reference.dart'; export 'engine/html/image.dart'; export 'engine/html/image_filter.dart'; export 'engine/html/offset.dart'; diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/html/bitmap_canvas.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/html/bitmap_canvas.dart index 01a17cc2f7..a80195d053 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/html/bitmap_canvas.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/html/bitmap_canvas.dart @@ -12,13 +12,13 @@ import '../canvas_pool.dart'; import '../display.dart'; import '../dom.dart'; import '../engine_canvas.dart'; -import '../frame_reference.dart'; import '../text/canvas_paragraph.dart'; import '../util.dart'; import '../vector_math.dart'; import 'clip.dart'; import 'color_filter.dart'; import 'dom_canvas.dart'; +import 'frame_reference.dart'; import 'image.dart'; import 'painting.dart'; import 'path/path.dart'; diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/frame_reference.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/html/frame_reference.dart similarity index 100% rename from engine/src/flutter/lib/web_ui/lib/src/engine/frame_reference.dart rename to engine/src/flutter/lib/web_ui/lib/src/engine/html/frame_reference.dart diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/html/picture.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/html/picture.dart index a694cc9d16..8d10d03f33 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/html/picture.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/html/picture.dart @@ -10,12 +10,12 @@ import 'package:ui/ui.dart' as ui; import '../dom.dart'; import '../engine_canvas.dart'; -import '../frame_reference.dart'; import '../util.dart'; import '../vector_math.dart'; import 'bitmap_canvas.dart'; import 'debug_canvas_reuse_overlay.dart'; import 'dom_canvas.dart'; +import 'frame_reference.dart'; import 'image.dart'; import 'path/path_metrics.dart'; import 'recording_canvas.dart'; diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/html/surface.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/html/surface.dart index 24fbad5dd5..dc66ad0d5e 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/html/surface.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/html/surface.dart @@ -6,12 +6,12 @@ import 'package:meta/meta.dart'; import 'package:ui/ui.dart' as ui; import '../dom.dart'; -import '../frame_reference.dart'; import '../frame_service.dart'; import '../onscreen_logging.dart'; import '../semantics.dart'; import '../util.dart'; import '../vector_math.dart'; +import 'frame_reference.dart'; import 'picture.dart'; import 'scene.dart'; import 'surface_stats.dart'; diff --git a/engine/src/flutter/lib/web_ui/test/engine/frame_reference_test.dart b/engine/src/flutter/lib/web_ui/test/engine/frame_reference_test.dart deleted file mode 100644 index 8901aafc73..0000000000 --- a/engine/src/flutter/lib/web_ui/test/engine/frame_reference_test.dart +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:test/bootstrap/browser.dart'; -import 'package:test/test.dart'; -import 'package:ui/src/engine.dart'; - -void main() { - internalBootstrapBrowserTest(() => testMain); -} - -void testMain() { - group('CrossFrameCache', () { - test('Reuse returns no object when cache empty', () { - final CrossFrameCache cache = CrossFrameCache(); - cache.commitFrame(); - final TestItem? requestedItem = cache.reuse('item1'); - expect(requestedItem, null); - }); - - test('Reuses object across frames', () { - final CrossFrameCache cache = CrossFrameCache(); - final TestItem testItem1 = TestItem('item1'); - cache.cache(testItem1.label, testItem1); - cache.commitFrame(); - TestItem? requestedItem = cache.reuse('item1'); - expect(requestedItem, testItem1); - requestedItem = cache.reuse('item1'); - expect(requestedItem, null); - }); - - test('Reuses objects that have same key across frames', () { - final CrossFrameCache cache = CrossFrameCache(); - final TestItem testItem1 = TestItem('sameLabel'); - final TestItem testItem2 = TestItem('sameLabel'); - final TestItem testItemX = TestItem('X'); - cache.cache(testItem1.label, testItem1); - cache.cache(testItemX.label, testItemX); - cache.cache(testItem2.label, testItem2); - cache.commitFrame(); - TestItem? requestedItem = cache.reuse('sameLabel'); - expect(requestedItem, testItem1); - requestedItem = cache.reuse('sameLabel'); - expect(requestedItem, testItem2); - requestedItem = cache.reuse('sameLabel'); - expect(requestedItem, null); - }); - - test("Values don't survive beyond next frame", () { - final CrossFrameCache cache = CrossFrameCache(); - final TestItem testItem1 = TestItem('item1'); - cache.cache(testItem1.label, testItem1); - cache.commitFrame(); - cache.commitFrame(); - final TestItem? requestedItem = cache.reuse('item1'); - expect(requestedItem, null); - }); - - test('Values are evicted when not reused', () { - final Set evictedItems = {}; - final CrossFrameCache cache = CrossFrameCache(); - final TestItem testItem1 = TestItem('item1'); - final TestItem testItem2 = TestItem('item2'); - cache.cache(testItem1.label, testItem1, (TestItem item) { - evictedItems.add(item); - }); - cache.cache(testItem2.label, testItem2, (TestItem item) { - evictedItems.add(item); - }); - cache.commitFrame(); - expect(evictedItems.length, 0); - cache.reuse('item2'); - cache.commitFrame(); - expect(evictedItems.contains(testItem1), isTrue); - expect(evictedItems.contains(testItem2), isFalse); - }); - }); -} - -class TestItem { - TestItem(this.label); - final String label; -}