Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ci/licenses_golden/excluded_files
Original file line number Diff line number Diff line change
Expand Up @@ -409,6 +409,7 @@
../../../flutter/third_party/web_locale_keymap/README.md
../../../flutter/third_party/web_locale_keymap/pubspec.yaml
../../../flutter/third_party/web_locale_keymap/test
../../../flutter/third_party/web_sdk_version/pubspec.yaml
../../../flutter/third_party/web_test_fonts/pubspec.yaml
../../../flutter/third_party/web_unicode/README.md
../../../flutter/third_party/web_unicode/pubspec.yaml
Expand Down
5 changes: 5 additions & 0 deletions ci/licenses_golden/licenses_flutter
Original file line number Diff line number Diff line change
Expand Up @@ -680,6 +680,7 @@ LIBRARY: engine
LIBRARY: spring_animation
LIBRARY: tonic
LIBRARY: txt
LIBRARY: web_sdk_version
LIBRARY: web_test_fonts
LIBRARY: web_unicode
ORIGIN: ../../../flutter/LICENSE
Expand Down Expand Up @@ -3170,6 +3171,8 @@ ORIGIN: ../../../flutter/third_party/txt/src/txt/platform_fuchsia.cc + ../../../
ORIGIN: ../../../flutter/third_party/txt/src/txt/platform_linux.cc + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/third_party/txt/src/txt/platform_mac.mm + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/third_party/txt/src/txt/platform_windows.cc + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/third_party/web_sdk_version/lib/web_sdk_version.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/third_party/web_sdk_version/lib/web_sdk_version/web_sdk_version.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/third_party/web_test_fonts/lib/web_test_fonts.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/third_party/web_test_fonts/lib/web_test_fonts/web_test_fonts.dart + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/third_party/web_unicode/lib/web_unicode.dart + ../../../flutter/LICENSE
Expand Down Expand Up @@ -5729,6 +5732,8 @@ FILE: ../../../flutter/third_party/txt/src/txt/platform_fuchsia.cc
FILE: ../../../flutter/third_party/txt/src/txt/platform_linux.cc
FILE: ../../../flutter/third_party/txt/src/txt/platform_mac.mm
FILE: ../../../flutter/third_party/txt/src/txt/platform_windows.cc
FILE: ../../../flutter/third_party/web_sdk_version/lib/web_sdk_version.dart
FILE: ../../../flutter/third_party/web_sdk_version/lib/web_sdk_version/web_sdk_version.dart
FILE: ../../../flutter/third_party/web_test_fonts/lib/web_test_fonts.dart
FILE: ../../../flutter/third_party/web_test_fonts/lib/web_test_fonts/web_test_fonts.dart
FILE: ../../../flutter/third_party/web_unicode/lib/web_unicode.dart
Expand Down
9 changes: 3 additions & 6 deletions lib/web_ui/lib/src/engine/configuration.dart
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,11 @@ library configuration;

import 'package:js/js.dart';
import 'package:meta/meta.dart';
import 'package:web_sdk_version/web_sdk_version.dart';

import 'canvaskit/renderer.dart';
import 'dom.dart';

/// The version of CanvasKit used by the web engine by default.
// DO NOT EDIT THE NEXT LINE OF CODE MANUALLY
// See `lib/web_ui/README.md` for how to roll CanvasKit to a new version.
const String _canvaskitVersion = '0.38.0';

/// The Web Engine configuration for the current application.
FlutterConfiguration get configuration =>
_configuration ??= FlutterConfiguration.legacy(_jsConfiguration);
Expand Down Expand Up @@ -182,7 +179,7 @@ class FlutterConfiguration {
String get canvasKitBaseUrl => _configuration?.canvasKitBaseUrl ?? _defaultCanvasKitBaseUrl;
static const String _defaultCanvasKitBaseUrl = String.fromEnvironment(
'FLUTTER_WEB_CANVASKIT_URL',
defaultValue: 'https://unpkg.com/canvaskit-wasm@$_canvaskitVersion/bin/',
defaultValue: 'https://gstatic.com/flutter-canvaskit/$flutterWebSdkVersion/'
);

/// The variant of CanvasKit to download.
Expand Down
3 changes: 3 additions & 0 deletions lib/web_ui/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ dependencies:
web_test_fonts:
path: ../../third_party/web_test_fonts

web_sdk_version:
path: ../../third_party/web_sdk_version

dev_dependencies:
analyzer: 5.2.0
archive: 3.1.2
Expand Down
43 changes: 43 additions & 0 deletions third_party/web_sdk_version/BUILD.gn
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import("//flutter/shell/version.gni")
import("//third_party/dart/build/dart/dart_action.gni")

dart_sdk_package_config = "//third_party/dart/.dart_tool/package_config.json"

prebuilt_dart_action("web_sdk_version") {
packages = dart_sdk_package_config
pool = "//flutter/build/dart:dart_pool"

script = "version_writer.dart"
inputs = [ "version_writer.dart" ]

stamp_location = "$target_gen_dir/$target_name.stamp"
outputs = [
stamp_location,
invoker.output_dir,
]

input_dir = rebase_path(invoker.input_dir)
output_dir = rebase_path(invoker.output_dir)

args = [
"--output-dir=$output_dir",
"--input-dir=$input_dir",
"--stamp",
rebase_path(stamp_location, root_build_dir),
]
if (ui) {
args += [ "--ui" ]
} else {
library_name = invoker.library_name
api_file = rebase_path(invoker.api_file)
args += [
"--library-name=$library_name",
"--api-file=$api_file",
]
}

foreach(source_file, source_dart_files) {
path = rebase_path(source_file)
args += [ "--source-file=$path" ]
}
}
7 changes: 7 additions & 0 deletions third_party/web_sdk_version/lib/web_sdk_version.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// 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.

library web_sdk_version;

export 'web_sdk_version/web_sdk_version.dart';
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// 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.

// NOTE: This file is just a stub. The actual file is generated at build time
// with the actual current Git commit SHA. This stub is just here for local
// development.

/// The Git SHA of the Flutter Engine.
const String flutterWebSdkVersion = 'IF YOU SEE THIS FILE A BUG: https://github.com/flutter/flutter/issues/new?assignees=&labels=&template=2_bug.md&title=';
Comment thread
harryterkelsen marked this conversation as resolved.
Outdated
6 changes: 6 additions & 0 deletions third_party/web_sdk_version/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: web_sdk_version

publish_to: none

environment:
sdk: ">=2.12.0-0 <3.0.0"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
sdk: ">=2.12.0-0 <3.0.0"
sdk: ">=3.0.0-0 <3.0.0"

might as well...

12 changes: 12 additions & 0 deletions web_sdk/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

import("//flutter/build/zip_bundle.gni")
import("//flutter/common/config.gni")
import("//flutter/shell/version/version.gni")
import("//third_party/dart/build/dart/dart_action.gni")

dart_sdk_package_config = "//third_party/dart/.dart_tool/package_config.json"
Expand All @@ -24,6 +25,7 @@ web_engine_libraries = [
":web_unicode_library",
":web_test_fonts_library",
":web_locale_keymap_library",
":web_sdk_version_library",
]

group("web_sdk") {
Expand Down Expand Up @@ -151,6 +153,14 @@ sdk_rewriter("web_locale_keymap_library") {
output_dir = "$root_out_dir/flutter_web_sdk/lib/_web_locale_keymap/"
}

generated_file("web_sdk_version_library") {
outputs = [
"$root_out_dir/flutter_web_sdk/lib/_web_sdk_version/web_sdk_version.dart",
]

contents = "// Copyright 2013 The Flutter Authors. All rights reserved.$0x0A// Use of this source code is governed by a BSD-style license that can be$0x0A// found in the LICENSE file.$0x0A$0x0A@JS()$0x0Alibrary dart._web_sdk_version;$0x0A$0x0Aimport 'dart:_js_annotations';$0x0A$0x0Aconst String flutterWebSdkVersion = '$engine_version';$0x0A"
}

copy("web_ui_library") {
sources = [ "//flutter/web_sdk/libraries.json" ]

Expand Down Expand Up @@ -314,6 +324,8 @@ template("_compile_platform") {
"dart:_web_unicode",
"--source",
"dart:_web_locale_keymap",
"--source",
"dart:_web_sdk_version",
]
if (flutter_prebuilt_dart_sdk) {
args += [
Expand Down
9 changes: 9 additions & 0 deletions web_sdk/libraries.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@
},
"_web_test_fonts": {
"uri": "lib/_web_test_fonts/web_test_fonts.dart"
},
"_web_sdk_version": {
"uri": "lib/_web_sdk_version/web_sdk_version.dart"
}
}
},
Expand Down Expand Up @@ -54,6 +57,9 @@
},
"_web_test_fonts": {
"uri": "lib/_web_test_fonts/web_test_fonts.dart"
},
"_web_sdk_version": {
"uri": "lib/_web_sdk_version/web_sdk_version.dart"
}
}
},
Expand Down Expand Up @@ -82,6 +88,9 @@
},
"_web_test_fonts": {
"uri": "lib/_web_test_fonts/web_test_fonts.dart"
},
"_web_sdk_version": {
"uri": "lib/_web_sdk_version/web_sdk_version.dart"
}
}
}
Expand Down
9 changes: 9 additions & 0 deletions web_sdk/libraries.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ dartdevc:
_web_test_fonts:
uri: "lib/_web_test_fonts/web_test_fonts.dart"

_web_sdk_version:
uri: "lib/_web_sdk_version/web_sdk_version.dart"

dart2js:
include:
- {path: "../dart-sdk/lib/libraries.json", target: dart2js}
Expand All @@ -59,6 +62,9 @@ dart2js:
_web_test_fonts:
uri: "lib/_web_test_fonts/web_test_fonts.dart"

_web_sdk_version:
uri: "lib/_web_sdk_version/web_sdk_version.dart"

wasm:
include:
- {path: "../dart-sdk/lib/libraries.json", target: wasm}
Expand All @@ -81,3 +87,6 @@ wasm:

_web_test_fonts:
uri: "lib/_web_test_fonts/web_test_fonts.dart"

_web_sdk_version:
uri: "lib/_web_sdk_version/web_sdk_version.dart"
1 change: 1 addition & 0 deletions web_sdk/sdk_rewriter.dart
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ final Map<Pattern, String> extraImportsMap = <Pattern, String>{
'web_unicode': "import 'dart:_web_unicode';",
'web_test_fonts': "import 'dart:_web_test_fonts';",
'web_locale_keymap': "import 'dart:_web_locale_keymap' as locale_keymap;",
'web_sdk_version': "import 'dart:_web_sdk_version';",
};

// Rewrites the "package"-style web ui library into a dart:ui implementation.
Expand Down
4 changes: 4 additions & 0 deletions web_sdk/test/sdk_rewriter_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -132,24 +132,28 @@ void printSomething() {
"import 'dart:_web_unicode';",
"import 'dart:_web_test_fonts';",
"import 'dart:_web_locale_keymap' as locale_keymap;",
"import 'dart:_web_sdk_version';",
]);
expect(getExtraImportsForLibrary('skwasm_stub'), <String>[
"import 'dart:_engine';",
"import 'dart:_web_unicode';",
"import 'dart:_web_test_fonts';",
"import 'dart:_web_locale_keymap' as locale_keymap;",
"import 'dart:_web_sdk_version';",
]);
expect(getExtraImportsForLibrary('skwasm_impl'), <String>[
"import 'dart:_engine';",
"import 'dart:_web_unicode';",
"import 'dart:_web_test_fonts';",
"import 'dart:_web_locale_keymap' as locale_keymap;",
"import 'dart:_web_sdk_version';",
"import 'dart:ffi';",
]);

// Other libraries (should not have extra imports).
expect(getExtraImportsForLibrary('web_unicode'), isEmpty);
expect(getExtraImportsForLibrary('web_test_fonts'), isEmpty);
expect(getExtraImportsForLibrary('web_locale_keymap'), isEmpty);
expect(getExtraImportsForLibrary('web_sdk_version'), isEmpty);
});
}