From 5d43f884f694ed2e35a10b8a232d6d8980454bea Mon Sep 17 00:00:00 2001 From: ferhatb Date: Tue, 17 Dec 2019 13:40:59 -0800 Subject: [PATCH 1/3] Fix lint warnings across web_ui --- lib/web_ui/dev/browser.dart | 2 +- .../lib/src/engine/compositor/embedded_views.dart | 2 ++ .../src/engine/compositor/layer_scene_builder.dart | 1 - lib/web_ui/lib/src/engine/compositor/surface.dart | 2 +- lib/web_ui/lib/src/engine/compositor/text.dart | 1 + lib/web_ui/lib/src/engine/semantics/text_field.dart | 1 + lib/web_ui/lib/src/engine/surface/painting.dart | 5 ----- lib/web_ui/lib/src/ui/canvas.dart | 13 +++++-------- lib/web_ui/lib/src/ui/natives.dart | 1 + lib/web_ui/lib/src/ui/window.dart | 2 +- lib/web_ui/test/engine/pointer_binding_test.dart | 1 - .../engine/canvas_blend_golden_test.dart | 2 -- .../engine/canvas_draw_image_golden_test.dart | 1 - .../engine/compositing_golden_test.dart | 2 +- .../engine/draw_vertices_golden_test.dart | 1 + 15 files changed, 15 insertions(+), 22 deletions(-) diff --git a/lib/web_ui/dev/browser.dart b/lib/web_ui/dev/browser.dart index 82e16872c9d1d..5c7c1b8e63513 100644 --- a/lib/web_ui/dev/browser.dart +++ b/lib/web_ui/dev/browser.dart @@ -12,7 +12,7 @@ import 'package:typed_data/typed_buffers.dart'; import 'package:test_api/src/utils.dart'; -import 'common.dart'; // ignore: implementation_imports +import 'common.dart'; // ignore: unused_import /// An interface for running browser instances. /// diff --git a/lib/web_ui/lib/src/engine/compositor/embedded_views.dart b/lib/web_ui/lib/src/engine/compositor/embedded_views.dart index 798a3d7dc8476..c45382d2c8dd0 100644 --- a/lib/web_ui/lib/src/engine/compositor/embedded_views.dart +++ b/lib/web_ui/lib/src/engine/compositor/embedded_views.dart @@ -472,6 +472,8 @@ class Mutator { return matrix == typedOther.matrix; case MutatorType.opacity: return alpha == typedOther.alpha; + default: + return false; } } diff --git a/lib/web_ui/lib/src/engine/compositor/layer_scene_builder.dart b/lib/web_ui/lib/src/engine/compositor/layer_scene_builder.dart index 9e25b218ca309..ef971c9bc06ff 100644 --- a/lib/web_ui/lib/src/engine/compositor/layer_scene_builder.dart +++ b/lib/web_ui/lib/src/engine/compositor/layer_scene_builder.dart @@ -17,7 +17,6 @@ class LayerScene implements ui.Scene { @override Future toImage(int width, int height) => null; - @override html.Element get webOnlyRootElement => null; } diff --git a/lib/web_ui/lib/src/engine/compositor/surface.dart b/lib/web_ui/lib/src/engine/compositor/surface.dart index 4671a8073df74..03930fb996e45 100644 --- a/lib/web_ui/lib/src/engine/compositor/surface.dart +++ b/lib/web_ui/lib/src/engine/compositor/surface.dart @@ -52,7 +52,7 @@ class Surface { SubmitCallback submitCallback = (SurfaceFrame surfaceFrame, SkCanvas canvas) { - _presentSurface(canvas); + return _presentSurface(canvas); }; return SurfaceFrame(surface, submitCallback); diff --git a/lib/web_ui/lib/src/engine/compositor/text.dart b/lib/web_ui/lib/src/engine/compositor/text.dart index b266388f4cffc..06f6805b88020 100644 --- a/lib/web_ui/lib/src/engine/compositor/text.dart +++ b/lib/web_ui/lib/src/engine/compositor/text.dart @@ -285,6 +285,7 @@ Map toSkFontStyle( break; } } + return style; } class SkParagraph implements ui.Paragraph { diff --git a/lib/web_ui/lib/src/engine/semantics/text_field.dart b/lib/web_ui/lib/src/engine/semantics/text_field.dart index 8ce6682ed1562..02bbf852d592c 100644 --- a/lib/web_ui/lib/src/engine/semantics/text_field.dart +++ b/lib/web_ui/lib/src/engine/semantics/text_field.dart @@ -62,6 +62,7 @@ class TextField extends RoleManager { case BrowserEngine.blink: case BrowserEngine.edge: case BrowserEngine.firefox: + case BrowserEngine.ie11: case BrowserEngine.unknown: _initializeForBlink(); break; diff --git a/lib/web_ui/lib/src/engine/surface/painting.dart b/lib/web_ui/lib/src/engine/surface/painting.dart index b6df1b15bdf1a..0c759862d0016 100644 --- a/lib/web_ui/lib/src/engine/surface/painting.dart +++ b/lib/web_ui/lib/src/engine/surface/painting.dart @@ -20,8 +20,6 @@ class SurfacePaint implements ui.Paint { _paintData.blendMode = value; } - ui.BlendMode _blendMode; - @override ui.PaintingStyle get style => _paintData.style ?? ui.PaintingStyle.fill; @@ -102,9 +100,6 @@ class SurfacePaint implements ui.Paint { @override set invertColors(bool value) {} - @override - ui.Color _color = _defaultPaintColor; - static const ui.Color _defaultPaintColor = ui.Color(0xFF000000); @override diff --git a/lib/web_ui/lib/src/ui/canvas.dart b/lib/web_ui/lib/src/ui/canvas.dart index 7662d531c756f..5c2e79c3da296 100644 --- a/lib/web_ui/lib/src/ui/canvas.dart +++ b/lib/web_ui/lib/src/ui/canvas.dart @@ -61,9 +61,9 @@ enum VertexMode { class Vertices { final VertexMode _mode; final Float32List _positions; - final Float32List _textureCoordinates; + final Float32List _textureCoordinates; // ignore: unused_field final Int32List _colors; - final Uint16List _indices; + final Uint16List _indices; // ignore: unused_field Vertices._( VertexMode mode, @@ -1157,21 +1157,18 @@ class RawRecordingCanvas extends engine.BitmapCanvas clear(); } - @override engine.RecordingCanvas beginRecording(Rect bounds) => throw UnsupportedError(''); + @override Picture endRecording() => throw UnsupportedError(''); - @override - engine.RecordingCanvas _canvas; + engine.RecordingCanvas _canvas; // ignore: unused_field - @override - bool _isRecording = true; + bool _isRecording = true; // ignore: unused_field @override bool get isRecording => true; - @override Rect cullRect; } diff --git a/lib/web_ui/lib/src/ui/natives.dart b/lib/web_ui/lib/src/ui/natives.dart index a85c7a552370d..d306f63050322 100644 --- a/lib/web_ui/lib/src/ui/natives.dart +++ b/lib/web_ui/lib/src/ui/natives.dart @@ -5,6 +5,7 @@ part of ui; // Corelib 'print' implementation. +// ignore: unused_element void _print(dynamic arg) { _Logger._printString(arg.toString()); } diff --git a/lib/web_ui/lib/src/ui/window.dart b/lib/web_ui/lib/src/ui/window.dart index 731874e6dff97..d81159b37e950 100644 --- a/lib/web_ui/lib/src/ui/window.dart +++ b/lib/web_ui/lib/src/ui/window.dart @@ -778,7 +778,7 @@ abstract class Window { /// no later frames to batch. TimingsCallback get onReportTimings => _onReportTimings; TimingsCallback _onReportTimings; - Zone _onReportTimingsZone; + Zone _onReportTimingsZone; // ignore: unused_field set onReportTimings(TimingsCallback callback) { _onReportTimings = callback; } diff --git a/lib/web_ui/test/engine/pointer_binding_test.dart b/lib/web_ui/test/engine/pointer_binding_test.dart index cee6b8f16de14..2441402e8940b 100644 --- a/lib/web_ui/test/engine/pointer_binding_test.dart +++ b/lib/web_ui/test/engine/pointer_binding_test.dart @@ -3,7 +3,6 @@ // found in the LICENSE file. import 'dart:html' as html; -import 'dart:typed_data'; import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; diff --git a/lib/web_ui/test/golden_tests/engine/canvas_blend_golden_test.dart b/lib/web_ui/test/golden_tests/engine/canvas_blend_golden_test.dart index b4074d08233f6..eccc179af8962 100644 --- a/lib/web_ui/test/golden_tests/engine/canvas_blend_golden_test.dart +++ b/lib/web_ui/test/golden_tests/engine/canvas_blend_golden_test.dart @@ -3,7 +3,6 @@ // found in the LICENSE file. import 'dart:html' as html; -import 'dart:math' as math; import 'dart:js_util' as js_util; import 'package:ui/ui.dart' hide TextStyle; @@ -16,7 +15,6 @@ void main() async { const double screenWidth = 600.0; const double screenHeight = 800.0; const Rect screenRect = Rect.fromLTWH(0, 0, screenWidth, screenHeight); - final Paint testPaint = Paint()..color = const Color(0xFFFF0000); // Commit a recording canvas to a bitmap, and compare with the expected Future _checkScreenshot(RecordingCanvas rc, String fileName, diff --git a/lib/web_ui/test/golden_tests/engine/canvas_draw_image_golden_test.dart b/lib/web_ui/test/golden_tests/engine/canvas_draw_image_golden_test.dart index ea789e03b77cf..8b4d5e5d6a9cb 100644 --- a/lib/web_ui/test/golden_tests/engine/canvas_draw_image_golden_test.dart +++ b/lib/web_ui/test/golden_tests/engine/canvas_draw_image_golden_test.dart @@ -16,7 +16,6 @@ void main() async { const double screenWidth = 600.0; const double screenHeight = 800.0; const Rect screenRect = Rect.fromLTWH(0, 0, screenWidth, screenHeight); - final Paint testPaint = Paint()..color = const Color(0xFFFF0000); // Commit a recording canvas to a bitmap, and compare with the expected Future _checkScreenshot(RecordingCanvas rc, String fileName, diff --git a/lib/web_ui/test/golden_tests/engine/compositing_golden_test.dart b/lib/web_ui/test/golden_tests/engine/compositing_golden_test.dart index 4c0bd86058428..568896a3882a6 100644 --- a/lib/web_ui/test/golden_tests/engine/compositing_golden_test.dart +++ b/lib/web_ui/test/golden_tests/engine/compositing_golden_test.dart @@ -480,7 +480,7 @@ void _testCullRectComputation() { await matchGoldenFile('compositing_3d_rotate1.png', region: region); - final PersistedStandardPicture picture = enumeratePictures().single; + final PersistedStandardPicture picture = enumeratePictures().single; // ignore: unused_local_variable // TODO(https://github.com/flutter/flutter/issues/40395): // Needs ability to set iframe to 500,100 size. Current screen seems to be 500,500. // expect( diff --git a/lib/web_ui/test/golden_tests/engine/draw_vertices_golden_test.dart b/lib/web_ui/test/golden_tests/engine/draw_vertices_golden_test.dart index 2071d5731db67..d6e465e4a59d8 100644 --- a/lib/web_ui/test/golden_tests/engine/draw_vertices_golden_test.dart +++ b/lib/web_ui/test/golden_tests/engine/draw_vertices_golden_test.dart @@ -72,6 +72,7 @@ void main() async { test('Should draw black hairline triangles when colors array is null' ' and Paint() has no color.', () async { + // ignore: unused_local_variable final Int32List colors = Int32List.fromList([ 0xFFFF0000, 0xFF00FF00, 0xFF0000FF, 0xFFFF0000, 0xFF00FF00, 0xFF0000FF, From aef5a1c922bc6e062b03afb9cdee96247b57fe5f Mon Sep 17 00:00:00 2001 From: ferhatb Date: Thu, 19 Dec 2019 09:13:24 -0800 Subject: [PATCH 2/3] add textureCoordinates/indices getters for Vertices --- .../lib/src/engine/compositor/vertices.dart | 22 +++++++++++++------ lib/web_ui/lib/src/ui/canvas.dart | 4 +++- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/lib/web_ui/lib/src/engine/compositor/vertices.dart b/lib/web_ui/lib/src/engine/compositor/vertices.dart index a0b9455dc3745..4625836bf4b91 100644 --- a/lib/web_ui/lib/src/engine/compositor/vertices.dart +++ b/lib/web_ui/lib/src/engine/compositor/vertices.dart @@ -16,6 +16,8 @@ class SkVertices implements ui.Vertices { final Int32List _colors; final Float32List _positions; final ui.VertexMode _mode; + final Float32List _textureCoordinates; + final Uint16List _indices; SkVertices( ui.VertexMode mode, @@ -28,7 +30,10 @@ class SkVertices implements ui.Vertices { _colors = Int32List.fromList(colors.map((ui.Color c) => c.value).toList()), _positions = encodePointList(positions), - _mode = mode { + _mode = mode, + _textureCoordinates = (textureCoordinates != null) + ? encodePointList(textureCoordinates) : null, + _indices = indices != null ? Uint16List.fromList(indices) : null { if (textureCoordinates != null && textureCoordinates.length != positions.length) throw ArgumentError( @@ -41,15 +46,12 @@ class SkVertices implements ui.Vertices { '"indices" values must be valid indices in the positions list.'); final Float32List encodedPositions = encodePointList(positions); - final Float32List encodedTextureCoordinates = (textureCoordinates != null) - ? encodePointList(textureCoordinates) - : null; final Int32List encodedColors = colors != null ? _encodeColorList(colors) : null; final Uint16List encodedIndices = - indices != null ? Uint16List.fromList(indices) : null; + ; - if (!_init(mode, encodedPositions, encodedTextureCoordinates, encodedColors, + if (!_init(mode, encodedPositions, _textureCoordinates, encodedColors, encodedIndices)) throw ArgumentError('Invalid configuration for vertices.'); } @@ -64,7 +66,9 @@ class SkVertices implements ui.Vertices { assert(positions != null), _colors = colors, _positions = positions, - _mode = mode { + _mode = mode, + _textureCoordinates = textureCoordinates, + _indices = indices { if (textureCoordinates != null && textureCoordinates.length != positions.length) throw ArgumentError( @@ -134,4 +138,8 @@ class SkVertices implements ui.Vertices { @override ui.VertexMode get mode => _mode; + + Float32List get textureCoordinates => _textureCoordinates; + + Uint16List get indices => _indices; } diff --git a/lib/web_ui/lib/src/ui/canvas.dart b/lib/web_ui/lib/src/ui/canvas.dart index 5c2e79c3da296..9d0b8a8733f72 100644 --- a/lib/web_ui/lib/src/ui/canvas.dart +++ b/lib/web_ui/lib/src/ui/canvas.dart @@ -61,7 +61,7 @@ enum VertexMode { class Vertices { final VertexMode _mode; final Float32List _positions; - final Float32List _textureCoordinates; // ignore: unused_field + final Float32List _textureCoordinates; final Int32List _colors; final Uint16List _indices; // ignore: unused_field @@ -159,6 +159,8 @@ class Vertices { VertexMode get mode => _mode; Int32List get colors => _colors; Float32List get positions => _positions; + Float32List get textureCoordinates => _textureCoordinates; + Uint16List get indices => _indices; } /// Records a [Picture] containing a sequence of graphical operations. From fa8179faf335924e794f01860b0c7d5dc962feec Mon Sep 17 00:00:00 2001 From: ferhatb Date: Thu, 19 Dec 2019 14:59:39 -0800 Subject: [PATCH 3/3] fix compositor indices --- lib/web_ui/lib/src/engine/compositor/vertices.dart | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/web_ui/lib/src/engine/compositor/vertices.dart b/lib/web_ui/lib/src/engine/compositor/vertices.dart index 4625836bf4b91..a4481ea206893 100644 --- a/lib/web_ui/lib/src/engine/compositor/vertices.dart +++ b/lib/web_ui/lib/src/engine/compositor/vertices.dart @@ -48,11 +48,8 @@ class SkVertices implements ui.Vertices { final Float32List encodedPositions = encodePointList(positions); final Int32List encodedColors = colors != null ? _encodeColorList(colors) : null; - final Uint16List encodedIndices = - ; - if (!_init(mode, encodedPositions, _textureCoordinates, encodedColors, - encodedIndices)) + _indices)) throw ArgumentError('Invalid configuration for vertices.'); }