Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
weixin_43355755
engine
提交
edc67975
E
engine
项目概览
weixin_43355755
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
engine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
edc67975
编写于
7月 06, 2021
作者:
M
Mouad Debbar
提交者:
GitHub
7月 06, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[web] Librarify semantics files (#27151)
上级
82015dfb
变更
24
隐藏空白更改
内联
并排
Showing
24 changed file
with
156 addition
and
47 deletion
+156
-47
ci/licenses_golden/licenses_flutter
ci/licenses_golden/licenses_flutter
+1
-0
lib/web_ui/lib/src/engine.dart
lib/web_ui/lib/src/engine.dart
+24
-14
lib/web_ui/lib/src/engine/browser_detection.dart
lib/web_ui/lib/src/engine/browser_detection.dart
+8
-0
lib/web_ui/lib/src/engine/dom_renderer.dart
lib/web_ui/lib/src/engine/dom_renderer.dart
+1
-1
lib/web_ui/lib/src/engine/keyboard_binding.dart
lib/web_ui/lib/src/engine/keyboard_binding.dart
+2
-1
lib/web_ui/lib/src/engine/platform_dispatcher.dart
lib/web_ui/lib/src/engine/platform_dispatcher.dart
+9
-0
lib/web_ui/lib/src/engine/semantics.dart
lib/web_ui/lib/src/engine/semantics.dart
+15
-0
lib/web_ui/lib/src/engine/semantics/accessibility.dart
lib/web_ui/lib/src/engine/semantics/accessibility.dart
+7
-1
lib/web_ui/lib/src/engine/semantics/checkable.dart
lib/web_ui/lib/src/engine/semantics/checkable.dart
+5
-1
lib/web_ui/lib/src/engine/semantics/image.dart
lib/web_ui/lib/src/engine/semantics/image.dart
+3
-1
lib/web_ui/lib/src/engine/semantics/incrementable.dart
lib/web_ui/lib/src/engine/semantics/incrementable.dart
+6
-1
lib/web_ui/lib/src/engine/semantics/label_and_value.dart
lib/web_ui/lib/src/engine/semantics/label_and_value.dart
+6
-2
lib/web_ui/lib/src/engine/semantics/live_region.dart
lib/web_ui/lib/src/engine/semantics/live_region.dart
+1
-1
lib/web_ui/lib/src/engine/semantics/scrollable.dart
lib/web_ui/lib/src/engine/semantics/scrollable.dart
+6
-1
lib/web_ui/lib/src/engine/semantics/semantics.dart
lib/web_ui/lib/src/engine/semantics/semantics.dart
+24
-11
lib/web_ui/lib/src/engine/semantics/semantics_helper.dart
lib/web_ui/lib/src/engine/semantics/semantics_helper.dart
+7
-1
lib/web_ui/lib/src/engine/semantics/tappable.dart
lib/web_ui/lib/src/engine/semantics/tappable.dart
+6
-1
lib/web_ui/lib/src/engine/semantics/text_field.dart
lib/web_ui/lib/src/engine/semantics/text_field.dart
+8
-1
lib/web_ui/lib/src/engine/text_editing/text_editing.dart
lib/web_ui/lib/src/engine/text_editing/text_editing.dart
+2
-1
lib/web_ui/lib/src/engine/util.dart
lib/web_ui/lib/src/engine/util.dart
+0
-4
lib/web_ui/test/engine/semantics/accessibility_test.dart
lib/web_ui/test/engine/semantics/accessibility_test.dart
+2
-1
lib/web_ui/test/engine/semantics/semantics_helper_test.dart
lib/web_ui/test/engine/semantics/semantics_helper_test.dart
+3
-1
lib/web_ui/test/engine/semantics/semantics_test.dart
lib/web_ui/test/engine/semantics/semantics_test.dart
+4
-1
lib/web_ui/test/engine/semantics/semantics_tester.dart
lib/web_ui/test/engine/semantics/semantics_tester.dart
+6
-1
未找到文件。
ci/licenses_golden/licenses_flutter
浏览文件 @
edc67975
...
...
@@ -564,6 +564,7 @@ FILE: ../../../flutter/lib/web_ui/lib/src/engine/pointer_binding.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/pointer_converter.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/profiler.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/rrect_renderer.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/accessibility.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/checkable.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/image.dart
...
...
lib/web_ui/lib/src/engine.dart
浏览文件 @
edc67975
...
...
@@ -32,7 +32,6 @@ import 'package:meta/meta.dart';
import
'../ui.dart'
as
ui
;
import
'engine/alarm_clock.dart'
;
export
'engine/alarm_clock.dart'
;
export
'engine/assets.dart'
;
...
...
@@ -131,8 +130,30 @@ export 'engine/pointer_converter.dart';
import
'engine/profiler.dart'
;
export
'engine/profiler.dart'
;
// This import is intentionally commented out because the analyzer says it's unused.
// import 'engine/services/buffers.dart';
import
'engine/semantics/accessibility.dart'
;
export
'engine/semantics/accessibility.dart'
;
export
'engine/semantics/checkable.dart'
;
export
'engine/semantics/image.dart'
;
export
'engine/semantics/incrementable.dart'
;
export
'engine/semantics/label_and_value.dart'
;
export
'engine/semantics/live_region.dart'
;
export
'engine/semantics/scrollable.dart'
;
import
'engine/semantics/semantics.dart'
;
export
'engine/semantics/semantics.dart'
;
export
'engine/semantics/semantics_helper.dart'
;
export
'engine/semantics/tappable.dart'
;
export
'engine/semantics/text_field.dart'
;
export
'engine/services/buffers.dart'
;
import
'engine/services/message_codec.dart'
;
...
...
@@ -302,17 +323,6 @@ part 'engine/platform_views/content_manager.dart';
part
'engine/platform_views/message_handler.dart'
;
part
'engine/platform_views/slots.dart'
;
part
'engine/rrect_renderer.dart'
;
part
'engine/semantics/accessibility.dart'
;
part
'engine/semantics/checkable.dart'
;
part
'engine/semantics/image.dart'
;
part
'engine/semantics/incrementable.dart'
;
part
'engine/semantics/label_and_value.dart'
;
part
'engine/semantics/live_region.dart'
;
part
'engine/semantics/scrollable.dart'
;
part
'engine/semantics/semantics.dart'
;
part
'engine/semantics/semantics_helper.dart'
;
part
'engine/semantics/tappable.dart'
;
part
'engine/semantics/text_field.dart'
;
part
'engine/window.dart'
;
// The mode the app is running in.
...
...
lib/web_ui/lib/src/engine/browser_detection.dart
浏览文件 @
edc67975
...
...
@@ -207,6 +207,14 @@ bool get isDesktop => _desktopOperatingSystems.contains(operatingSystem);
/// See [isDesktop].
bool
get
isMobile
=>
!
isDesktop
;
/// Whether the browser is running on macOS or iOS.
///
/// - See [operatingSystem].
/// - See [OperatingSystem].
bool
get
isMacOrIOS
=>
operatingSystem
==
OperatingSystem
.
iOs
||
operatingSystem
==
OperatingSystem
.
macOs
;
int
?
_cachedWebGLVersion
;
/// The highest WebGL version supported by the current browser, or -1 if WebGL
...
...
lib/web_ui/lib/src/engine/dom_renderer.dart
浏览文件 @
edc67975
...
...
@@ -387,7 +387,7 @@ class DomRenderer {
// When debugging semantics, make the scene semi-transparent so that the
// semantics tree is visible.
if
(
_
debugShowSemanticsNodes
)
{
if
(
debugShowSemanticsNodes
)
{
_sceneHostElement
!.
style
.
opacity
=
'0.3'
;
}
...
...
lib/web_ui/lib/src/engine/keyboard_binding.dart
浏览文件 @
edc67975
...
...
@@ -4,11 +4,12 @@
import
'dart:html'
as
html
;
import
'package:ui/src/engine.dart'
show
EnginePlatformDispatcher
,
EngineSemanticsOwner
,
registerHotRestartListener
;
import
'package:ui/src/engine.dart'
show
EnginePlatformDispatcher
,
registerHotRestartListener
;
import
'package:ui/ui.dart'
as
ui
;
import
'browser_detection.dart'
;
import
'key_map.dart'
;
import
'semantics.dart'
;
typedef
_VoidCallback
=
void
Function
();
typedef
ValueGetter
<
T
>
=
T
Function
();
...
...
lib/web_ui/lib/src/engine/platform_dispatcher.dart
浏览文件 @
edc67975
...
...
@@ -760,6 +760,15 @@ class EnginePlatformDispatcher extends ui.PlatformDispatcher {
invoke
(
_onTextScaleFactorChanged
,
_onTextScaleFactorChangedZone
);
}
void
updateSemanticsEnabled
(
bool
semanticsEnabled
)
{
if
(
semanticsEnabled
!=
this
.
semanticsEnabled
)
{
_configuration
=
_configuration
.
copyWith
(
semanticsEnabled:
semanticsEnabled
);
if
(
_onSemanticsEnabledChanged
!=
null
)
{
invokeOnSemanticsEnabledChanged
();
}
}
}
/// The setting indicating the current brightness mode of the host platform.
/// If the platform has no preference, [platformBrightness] defaults to [Brightness.light].
ui
.
Brightness
get
platformBrightness
=>
configuration
.
platformBrightness
;
...
...
lib/web_ui/lib/src/engine/semantics.dart
0 → 100644
浏览文件 @
edc67975
// 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.
export
'semantics/accessibility.dart'
;
export
'semantics/checkable.dart'
;
export
'semantics/image.dart'
;
export
'semantics/incrementable.dart'
;
export
'semantics/label_and_value.dart'
;
export
'semantics/live_region.dart'
;
export
'semantics/scrollable.dart'
;
export
'semantics/semantics_helper.dart'
;
export
'semantics/semantics.dart'
;
export
'semantics/tappable.dart'
;
export
'semantics/text_field.dart'
;
lib/web_ui/lib/src/engine/semantics/accessibility.dart
浏览文件 @
edc67975
...
...
@@ -2,7 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
part of
engine
;
import
'dart:async'
;
import
'dart:html'
as
html
;
import
'dart:typed_data'
;
import
'package:ui/src/engine.dart'
show
registerHotRestartListener
;
import
'../services.dart'
;
/// Singleton for accessing accessibility announcements from the platform.
final
AccessibilityAnnouncements
accessibilityAnnouncements
=
...
...
lib/web_ui/lib/src/engine/semantics/checkable.dart
浏览文件 @
edc67975
...
...
@@ -11,7 +11,11 @@
// framework. Currently the framework does not report the
// grouping of radio buttons.
part of
engine
;
import
'dart:html'
as
html
;
import
'package:ui/ui.dart'
as
ui
;
import
'semantics.dart'
;
/// The specific type of checkable control.
enum
_CheckableKind
{
...
...
lib/web_ui/lib/src/engine/semantics/image.dart
浏览文件 @
edc67975
...
...
@@ -2,7 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
part of
engine
;
import
'dart:html'
as
html
;
import
'semantics.dart'
;
/// Represents semantic objects that deliver information in a visual manner.
///
...
...
lib/web_ui/lib/src/engine/semantics/incrementable.dart
浏览文件 @
edc67975
...
...
@@ -2,7 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
part of
engine
;
import
'dart:html'
as
html
;
import
'package:ui/src/engine.dart'
show
EnginePlatformDispatcher
;
import
'package:ui/ui.dart'
as
ui
;
import
'semantics.dart'
;
/// Adds increment/decrement event handling to a semantics object.
///
...
...
lib/web_ui/lib/src/engine/semantics/label_and_value.dart
浏览文件 @
edc67975
...
...
@@ -2,7 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
part of
engine
;
import
'dart:html'
as
html
;
import
'package:ui/ui.dart'
as
ui
;
import
'semantics.dart'
;
/// Renders [_label] and [_value] to the semantics DOM.
///
...
...
@@ -96,7 +100,7 @@ class LabelAndValue extends RoleManager {
// Normally use a small font size so that text doesn't leave the scope
// of the semantics node. When debugging semantics, use a font size
// that's reasonably visible.
_auxiliaryValueElement
!.
style
.
fontSize
=
_
debugShowSemanticsNodes
?
'12px'
:
'6px'
;
_auxiliaryValueElement
!.
style
.
fontSize
=
debugShowSemanticsNodes
?
'12px'
:
'6px'
;
semanticsObject
.
element
.
append
(
_auxiliaryValueElement
!);
}
_auxiliaryValueElement
!.
text
=
combinedValue
.
toString
();
...
...
lib/web_ui/lib/src/engine/semantics/live_region.dart
浏览文件 @
edc67975
...
...
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
part of
engine
;
import
'semantics.dart'
;
/// Manages semantics configurations that represent live regions.
///
...
...
lib/web_ui/lib/src/engine/semantics/scrollable.dart
浏览文件 @
edc67975
...
...
@@ -2,7 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
part of
engine
;
import
'dart:html'
as
html
;
import
'package:ui/src/engine.dart'
show
EnginePlatformDispatcher
;
import
'package:ui/ui.dart'
as
ui
;
import
'semantics.dart'
;
/// Implements vertical and horizontal scrolling functionality for semantics
/// objects.
...
...
lib/web_ui/lib/src/engine/semantics/semantics.dart
浏览文件 @
edc67975
...
...
@@ -2,7 +2,26 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
part of
engine
;
import
'dart:html'
as
html
;
import
'dart:math'
as
math
;
import
'dart:typed_data'
;
import
'package:ui/src/engine.dart'
show
domRenderer
,
EnginePlatformDispatcher
,
registerHotRestartListener
;
import
'package:ui/ui.dart'
as
ui
;
import
'../alarm_clock.dart'
;
import
'../browser_detection.dart'
;
import
'../util.dart'
;
import
'../vector_math.dart'
;
import
'checkable.dart'
;
import
'image.dart'
;
import
'incrementable.dart'
;
import
'label_and_value.dart'
;
import
'live_region.dart'
;
import
'scrollable.dart'
;
import
'semantics_helper.dart'
;
import
'tappable.dart'
;
import
'text_field.dart'
;
/// Set this flag to `true` to cause the engine to visualize the semantics tree
/// on the screen for debugging.
...
...
@@ -15,7 +34,7 @@ part of engine;
/// ```
/// flutter run -d chrome --profile --dart-define=FLUTTER_WEB_DEBUG_SHOW_SEMANTICS=true
/// ```
const
bool
_
debugShowSemanticsNodes
=
bool
.
fromEnvironment
(
const
bool
debugShowSemanticsNodes
=
bool
.
fromEnvironment
(
'FLUTTER_WEB_DEBUG_SHOW_SEMANTICS'
,
defaultValue:
false
,
);
...
...
@@ -266,7 +285,7 @@ class SemanticsObject {
element
.
style
.
position
=
'absolute'
;
// The root node has some properties that other nodes do not.
if
(
id
==
0
&&
!
_
debugShowSemanticsNodes
)
{
if
(
id
==
0
&&
!
debugShowSemanticsNodes
)
{
// Make all semantics transparent. We use `filter` instead of `opacity`
// attribute because `filter` is stronger. `opacity` does not apply to
// some elements, particularly on iOS, such as the slider thumb and track.
...
...
@@ -283,7 +302,7 @@ class SemanticsObject {
// Make semantic elements visible for debugging by outlining them using a
// green border. We do not use `border` attribute because it affects layout
// (`outline` does not).
if
(
_
debugShowSemanticsNodes
)
{
if
(
debugShowSemanticsNodes
)
{
element
.
style
.
outline
=
'1px solid green'
;
}
}
...
...
@@ -1353,13 +1372,7 @@ class EngineSemanticsOwner {
_rootSemanticsElement
=
null
;
_gestureModeClock
?.
datetime
=
null
;
}
if
(
_semanticsEnabled
!=
EnginePlatformDispatcher
.
instance
.
semanticsEnabled
)
{
EnginePlatformDispatcher
.
instance
.
_configuration
=
EnginePlatformDispatcher
.
instance
.
_configuration
.
copyWith
(
semanticsEnabled:
_semanticsEnabled
);
if
(
EnginePlatformDispatcher
.
instance
.
_onSemanticsEnabledChanged
!=
null
)
{
EnginePlatformDispatcher
.
instance
.
invokeOnSemanticsEnabledChanged
();
}
}
EnginePlatformDispatcher
.
instance
.
updateSemanticsEnabled
(
_semanticsEnabled
);
}
/// Controls how pointer events and browser-detected gestures are treated by
...
...
lib/web_ui/lib/src/engine/semantics/semantics_helper.dart
浏览文件 @
edc67975
...
...
@@ -2,7 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
part of
engine
;
import
'dart:async'
;
import
'dart:html'
as
html
;
import
'package:meta/meta.dart'
;
import
'../browser_detection.dart'
;
import
'semantics.dart'
;
/// The maximum [semanticsActivationAttempts] before we give up waiting for
/// the user to enable semantics.
...
...
lib/web_ui/lib/src/engine/semantics/tappable.dart
浏览文件 @
edc67975
...
...
@@ -2,7 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
part of
engine
;
import
'dart:html'
as
html
;
import
'package:ui/src/engine.dart'
show
EnginePlatformDispatcher
;
import
'package:ui/ui.dart'
as
ui
;
import
'semantics.dart'
;
/// Listens to HTML "click" gestures detected by the browser.
///
...
...
lib/web_ui/lib/src/engine/semantics/text_field.dart
浏览文件 @
edc67975
...
...
@@ -2,7 +2,14 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
part of
engine
;
import
'dart:html'
as
html
;
import
'package:ui/src/engine.dart'
show
EnginePlatformDispatcher
;
import
'package:ui/ui.dart'
as
ui
;
import
'../text_editing/text_editing.dart'
;
import
'../browser_detection.dart'
;
import
'semantics.dart'
;
/// Text editing used by accesibility mode.
///
...
...
lib/web_ui/lib/src/engine/text_editing/text_editing.dart
浏览文件 @
edc67975
...
...
@@ -8,11 +8,12 @@ import 'dart:math' as math;
import
'dart:typed_data'
;
import
'package:meta/meta.dart'
;
import
'package:ui/src/engine.dart'
show
domRenderer
,
EnginePlatformDispatcher
,
EngineSemanticsOwner
,
SemanticsTextEditingStrategy
;
import
'package:ui/src/engine.dart'
show
domRenderer
,
EnginePlatformDispatcher
;
import
'package:ui/ui.dart'
as
ui
;
import
'../browser_detection.dart'
;
import
'../host_node.dart'
;
import
'../semantics.dart'
;
import
'../services.dart'
;
import
'../text/paragraph.dart'
;
import
'../util.dart'
;
...
...
lib/web_ui/lib/src/engine/util.dart
浏览文件 @
edc67975
...
...
@@ -425,10 +425,6 @@ const Set<String> _genericFontFamilies = <String>{
final
String
_fallbackFontFamily
=
isMacOrIOS
?
'-apple-system, BlinkMacSystemFont'
:
'Arial'
;
bool
get
isMacOrIOS
=>
operatingSystem
==
OperatingSystem
.
iOs
||
operatingSystem
==
OperatingSystem
.
macOs
;
/// Create a font-family string appropriate for CSS.
///
/// If the given [fontFamily] is a generic font-family, then just return it.
...
...
lib/web_ui/test/engine/semantics/accessibility_test.dart
浏览文件 @
edc67975
...
...
@@ -7,7 +7,8 @@ import 'dart:html';
import
'package:test/bootstrap/browser.dart'
;
import
'package:test/test.dart'
;
import
'package:ui/src/engine.dart'
;
import
'package:ui/src/engine/semantics.dart'
;
import
'package:ui/src/engine/services.dart'
;
const
StandardMessageCodec
codec
=
StandardMessageCodec
();
const
String
testMessage
=
'This is an tooltip.'
;
...
...
lib/web_ui/test/engine/semantics/semantics_helper_test.dart
浏览文件 @
edc67975
...
...
@@ -6,7 +6,9 @@ import 'dart:html' as html;
import
'package:test/bootstrap/browser.dart'
;
import
'package:test/test.dart'
;
import
'package:ui/src/engine.dart'
;
import
'package:ui/src/engine/browser_detection.dart'
;
import
'package:ui/src/engine/pointer_binding.dart'
;
import
'package:ui/src/engine/semantics.dart'
;
const
PointerSupportDetector
_defaultSupportDetector
=
PointerSupportDetector
();
...
...
lib/web_ui/test/engine/semantics/semantics_test.dart
浏览文件 @
edc67975
...
...
@@ -12,7 +12,10 @@ import 'package:quiver/testing/async.dart';
import
'package:test/bootstrap/browser.dart'
;
import
'package:test/test.dart'
;
import
'package:ui/src/engine.dart'
;
import
'package:ui/src/engine.dart'
show
domRenderer
;
import
'package:ui/src/engine/browser_detection.dart'
;
import
'package:ui/src/engine/semantics.dart'
;
import
'package:ui/src/engine/vector_math.dart'
;
import
'package:ui/ui.dart'
as
ui
;
import
'semantics_tester.dart'
;
...
...
lib/web_ui/test/engine/semantics/semantics_tester.dart
浏览文件 @
edc67975
...
...
@@ -7,7 +7,12 @@ import 'dart:html' as html;
import
'dart:typed_data'
;
import
'package:test/test.dart'
;
import
'package:ui/src/engine.dart'
;
import
'package:ui/src/engine.dart'
show
domRenderer
,
toMatrix32
;
import
'package:ui/src/engine/browser_detection.dart'
;
import
'package:ui/src/engine/host_node.dart'
;
import
'package:ui/src/engine/semantics.dart'
;
import
'package:ui/src/engine/util.dart'
;
import
'package:ui/src/engine/vector_math.dart'
;
import
'package:ui/ui.dart'
as
ui
;
import
'../../matchers.dart'
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录