Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
sxychenjing
engine
提交
69ebe5fb
E
engine
项目概览
sxychenjing
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
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,发现更多精彩内容 >>
提交
69ebe5fb
编写于
5月 31, 2019
作者:
K
Kevin Lindkvist
提交者:
Chris Bracken
5月 31, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove references to Fuchsia's ContextWriter (#9157)
上级
153416e5
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
2 addition
and
156 deletion
+2
-156
ci/licenses_golden/licenses_flutter
ci/licenses_golden/licenses_flutter
+0
-2
shell/platform/fuchsia/dart/integration/meta/dart_aot_runner_test.cmx
...rm/fuchsia/dart/integration/meta/dart_aot_runner_test.cmx
+0
-1
shell/platform/fuchsia/dart/integration/meta/dart_jit_runner_test.cmx
...rm/fuchsia/dart/integration/meta/dart_jit_runner_test.cmx
+0
-1
shell/platform/fuchsia/dart/vmservice/meta/vmservice.cmx
shell/platform/fuchsia/dart/vmservice/meta/vmservice.cmx
+1
-2
shell/platform/fuchsia/flutter/BUILD.gn
shell/platform/fuchsia/flutter/BUILD.gn
+0
-2
shell/platform/fuchsia/flutter/context_writer_bridge.cc
shell/platform/fuchsia/flutter/context_writer_bridge.cc
+0
-80
shell/platform/fuchsia/flutter/context_writer_bridge.h
shell/platform/fuchsia/flutter/context_writer_bridge.h
+0
-45
shell/platform/fuchsia/flutter/engine.cc
shell/platform/fuchsia/flutter/engine.cc
+1
-11
shell/platform/fuchsia/flutter/platform_view.cc
shell/platform/fuchsia/flutter/platform_view.cc
+0
-6
shell/platform/fuchsia/flutter/platform_view.h
shell/platform/fuchsia/flutter/platform_view.h
+0
-6
未找到文件。
ci/licenses_golden/licenses_flutter
浏览文件 @
69ebe5fb
...
...
@@ -839,8 +839,6 @@ FILE: ../../../flutter/shell/platform/fuchsia/flutter/component.cc
FILE: ../../../flutter/shell/platform/fuchsia/flutter/component.h
FILE: ../../../flutter/shell/platform/fuchsia/flutter/compositor_context.cc
FILE: ../../../flutter/shell/platform/fuchsia/flutter/compositor_context.h
FILE: ../../../flutter/shell/platform/fuchsia/flutter/context_writer_bridge.cc
FILE: ../../../flutter/shell/platform/fuchsia/flutter/context_writer_bridge.h
FILE: ../../../flutter/shell/platform/fuchsia/flutter/engine.cc
FILE: ../../../flutter/shell/platform/fuchsia/flutter/engine.h
FILE: ../../../flutter/shell/platform/fuchsia/flutter/fuchsia_font_manager.cc
...
...
shell/platform/fuchsia/dart/integration/meta/dart_aot_runner_test.cmx
浏览文件 @
69ebe5fb
...
...
@@ -8,7 +8,6 @@
"fuchsia.fonts.Provider",
"fuchsia.logger.LogSink",
"fuchsia.modular.Clipboard",
"fuchsia.modular.ContextWriter",
"fuchsia.modular.ModuleContext",
"fuchsia.netstack.Netstack",
"fuchsia.sys.Environment",
...
...
shell/platform/fuchsia/dart/integration/meta/dart_jit_runner_test.cmx
浏览文件 @
69ebe5fb
...
...
@@ -8,7 +8,6 @@
"fuchsia.fonts.Provider",
"fuchsia.logger.LogSink",
"fuchsia.modular.Clipboard",
"fuchsia.modular.ContextWriter",
"fuchsia.modular.ModuleContext",
"fuchsia.netstack.Netstack",
"fuchsia.sys.Environment",
...
...
shell/platform/fuchsia/dart/vmservice/meta/vmservice.cmx
浏览文件 @
69ebe5fb
...
...
@@ -8,7 +8,6 @@
"fuchsia.fonts.Provider",
"fuchsia.logger.LogSink",
"fuchsia.modular.Clipboard",
"fuchsia.modular.ContextWriter",
"fuchsia.modular.ModuleContext",
"fuchsia.netstack.Netstack",
"fuchsia.sys.Environment",
...
...
@@ -18,4 +17,4 @@
"fuchsia.wlan.service.Wlan"
]
}
}
\ No newline at end of file
}
shell/platform/fuchsia/flutter/BUILD.gn
浏览文件 @
69ebe5fb
...
...
@@ -15,8 +15,6 @@ if (using_fuchsia_sdk) {
"component.h",
"compositor_context.cc",
"compositor_context.h",
"context_writer_bridge.cc",
"context_writer_bridge.h",
"engine.cc",
"engine.h",
"fuchsia_font_manager.cc",
...
...
shell/platform/fuchsia/flutter/context_writer_bridge.cc
已删除
100644 → 0
浏览文件 @
153416e5
// 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.
#include "context_writer_bridge.h"
#include <unordered_set>
#include "rapidjson/document.h"
#include "rapidjson/stringbuffer.h"
#include "rapidjson/writer.h"
namespace
flutter_runner
{
ContextWriterBridge
::
ContextWriterBridge
(
fidl
::
InterfaceHandle
<
fuchsia
::
modular
::
ContextWriter
>
writer
)
:
writer_
(
writer
.
Bind
())
{}
ContextWriterBridge
::~
ContextWriterBridge
()
=
default
;
void
ContextWriterBridge
::
UpdateSemantics
(
const
flutter
::
SemanticsNodeUpdates
&
update
)
{
for
(
const
auto
&
update
:
update
)
{
const
auto
&
node
=
update
.
second
;
semantics_nodes_
[
node
.
id
]
=
node
;
}
std
::
vector
<
int
>
visited_nodes
;
UpdateVisitedForNodeAndChildren
(
0
,
&
visited_nodes
);
EraseUnvisitedNodes
(
visited_nodes
);
// The data sent to the Context Service is a JSON formatted list of labels
// for all on screen widgets.
rapidjson
::
Document
nodes_json
(
rapidjson
::
kArrayType
);
for
(
const
int
node_index
:
visited_nodes
)
{
const
auto
&
node
=
semantics_nodes_
[
node_index
];
if
(
!
node
.
label
.
empty
())
{
rapidjson
::
Value
value
;
value
.
SetString
(
node
.
label
.
data
(),
node
.
label
.
size
());
nodes_json
.
PushBack
(
value
,
nodes_json
.
GetAllocator
());
}
}
if
(
nodes_json
.
Size
()
>
0
)
{
rapidjson
::
StringBuffer
buffer
;
rapidjson
::
Writer
<
rapidjson
::
StringBuffer
>
writer
(
buffer
);
nodes_json
.
Accept
(
writer
);
writer_
->
WriteEntityTopic
(
"/inferred/accessibility_text"
,
buffer
.
GetString
());
}
}
void
ContextWriterBridge
::
UpdateVisitedForNodeAndChildren
(
const
int
id
,
std
::
vector
<
int
>*
visited_nodes
)
{
std
::
map
<
int
,
flutter
::
SemanticsNode
>::
const_iterator
it
=
semantics_nodes_
.
find
(
id
);
if
(
it
==
semantics_nodes_
.
end
())
{
return
;
}
visited_nodes
->
push_back
(
id
);
for
(
const
int
child
:
it
->
second
.
childrenInTraversalOrder
)
{
UpdateVisitedForNodeAndChildren
(
child
,
visited_nodes
);
}
}
void
ContextWriterBridge
::
EraseUnvisitedNodes
(
const
std
::
vector
<
int
>&
visited_nodes
)
{
const
std
::
unordered_set
<
int
>
visited_nodes_lookup
(
visited_nodes
.
begin
(),
visited_nodes
.
end
());
for
(
auto
it
=
semantics_nodes_
.
begin
();
it
!=
semantics_nodes_
.
end
();)
{
if
(
visited_nodes_lookup
.
find
((
*
it
).
first
)
==
visited_nodes_lookup
.
end
())
{
it
=
semantics_nodes_
.
erase
(
it
);
}
else
{
++
it
;
}
}
}
}
// namespace flutter_runner
shell/platform/fuchsia/flutter/context_writer_bridge.h
已删除
100644 → 0
浏览文件 @
153416e5
// 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.
#pragma once
#include <map>
#include <fuchsia/modular/cpp/fidl.h>
#include "flutter/fml/macros.h"
#include "flutter/lib/ui/semantics/semantics_node.h"
namespace
flutter_runner
{
// Maintain an up-to-date list of SemanticsNodes on screen, and communicate
// with the Context Service.
class
ContextWriterBridge
final
{
public:
ContextWriterBridge
(
fidl
::
InterfaceHandle
<
fuchsia
::
modular
::
ContextWriter
>
writer
);
~
ContextWriterBridge
();
// Update the internal representation of the semantics nodes, and write the
// semantics to Context Service.
void
UpdateSemantics
(
const
flutter
::
SemanticsNodeUpdates
&
update
);
private:
fuchsia
::
modular
::
ContextWriterPtr
writer_
;
std
::
map
<
int
,
flutter
::
SemanticsNode
>
semantics_nodes_
;
// Walk the semantics node tree starting at |id|, and store the id of each
// visited child in |visited_nodes|.
void
UpdateVisitedForNodeAndChildren
(
const
int
id
,
std
::
vector
<
int
>*
visited_nodes
);
// Remove any node from |semantics_nodes_| that doesn't have an id in
// |visited_nodes|.
void
EraseUnvisitedNodes
(
const
std
::
vector
<
int
>&
visited_nodes
);
FML_DISALLOW_COPY_AND_ASSIGN
(
ContextWriterBridge
);
};
}
// namespace flutter_runner
shell/platform/fuchsia/flutter/engine.cc
浏览文件 @
69ebe5fb
...
...
@@ -80,12 +80,6 @@ Engine::Engine(Delegate& delegate,
environment
->
GetServices
(
parent_environment_service_provider
.
NewRequest
());
environment
.
Unbind
();
// Grab the accessibility context writer that can understand the semantics
// tree on the platform view.
fidl
::
InterfaceHandle
<
fuchsia
::
modular
::
ContextWriter
>
accessibility_context_writer
;
svc
->
Connect
(
accessibility_context_writer
.
NewRequest
());
// We need to manually schedule a frame when the session metrics change.
OnMetricsUpdate
on_session_metrics_change_callback
=
std
::
bind
(
&
Engine
::
OnSessionMetricsDidChange
,
this
,
std
::
placeholders
::
_1
);
...
...
@@ -120,8 +114,6 @@ Engine::Engine(Delegate& delegate,
std
::
move
(
on_session_metrics_change_callback
),
on_session_size_change_hint_callback
=
std
::
move
(
on_session_size_change_hint_callback
),
accessibility_context_writer
=
std
::
move
(
accessibility_context_writer
),
vsync_handle
=
vsync_event_
.
get
()](
flutter
::
Shell
&
shell
)
mutable
{
return
std
::
make_unique
<
flutter_runner
::
PlatformView
>
(
shell
,
// delegate
...
...
@@ -132,9 +124,7 @@ Engine::Engine(Delegate& delegate,
std
::
move
(
on_session_listener_error_callback
),
std
::
move
(
on_session_metrics_change_callback
),
std
::
move
(
on_session_size_change_hint_callback
),
std
::
move
(
accessibility_context_writer
),
// accessibility
// context writer
vsync_handle
// vsync handle
vsync_handle
// vsync handle
);
});
...
...
shell/platform/fuchsia/flutter/platform_view.cc
浏览文件 @
69ebe5fb
...
...
@@ -86,8 +86,6 @@ PlatformView::PlatformView(
fit
::
closure
session_listener_error_callback
,
OnMetricsUpdate
session_metrics_did_change_callback
,
OnSizeChangeHint
session_size_change_hint_callback
,
fidl
::
InterfaceHandle
<
fuchsia
::
modular
::
ContextWriter
>
accessibility_context_writer
,
zx_handle_t
vsync_event_handle
)
:
flutter
::
PlatformView
(
delegate
,
std
::
move
(
task_runners
)),
debug_label_
(
std
::
move
(
debug_label
)),
...
...
@@ -97,7 +95,6 @@ PlatformView::PlatformView(
metrics_changed_callback_
(
std
::
move
(
session_metrics_did_change_callback
)),
size_change_hint_callback_
(
std
::
move
(
session_size_change_hint_callback
)),
ime_client_
(
this
),
context_writer_bridge_
(
std
::
move
(
accessibility_context_writer
)),
surface_
(
std
::
make_unique
<
Surface
>
(
debug_label_
)),
vsync_event_handle_
(
vsync_event_handle
)
{
// Register all error handlers.
...
...
@@ -595,9 +592,6 @@ void PlatformView::HandlePlatformMessage(
void
PlatformView
::
UpdateSemantics
(
flutter
::
SemanticsNodeUpdates
update
,
flutter
::
CustomAccessibilityActionUpdates
actions
)
{
// TODO(MI4-1262): Figure out if the context_writer_bridge should be removed
// as it is unused.
// context_writer_bridge_.UpdateSemantics(update);
// TODO(MIT-1539): Uncomment/Reimplement following code, to add A11y support.
// semantics_bridge_.UpdateSemantics(update);
}
...
...
shell/platform/fuchsia/flutter/platform_view.h
浏览文件 @
69ebe5fb
...
...
@@ -20,7 +20,6 @@
#include "lib/fidl/cpp/binding.h"
#include "lib/ui/scenic/cpp/id.h"
#include "context_writer_bridge.h"
#include "surface.h"
namespace
flutter_runner
{
...
...
@@ -49,16 +48,12 @@ class PlatformView final : public flutter::PlatformView,
fit
::
closure
on_session_listener_error_callback
,
OnMetricsUpdate
session_metrics_did_change_callback
,
OnSizeChangeHint
session_size_change_hint_callback
,
fidl
::
InterfaceHandle
<
fuchsia
::
modular
::
ContextWriter
>
accessibility_context_writer
,
zx_handle_t
vsync_event_handle
);
PlatformView
(
PlatformView
::
Delegate
&
delegate
,
std
::
string
debug_label
,
flutter
::
TaskRunners
task_runners
,
fidl
::
InterfaceHandle
<
fuchsia
::
sys
::
ServiceProvider
>
parent_environment_service_provider
,
fidl
::
InterfaceHandle
<
fuchsia
::
modular
::
ContextWriter
>
accessibility_context_writer
,
zx_handle_t
vsync_event_handle
);
~
PlatformView
();
...
...
@@ -80,7 +75,6 @@ class PlatformView final : public flutter::PlatformView,
fuchsia
::
sys
::
ServiceProviderPtr
parent_environment_service_provider_
;
fuchsia
::
modular
::
ClipboardPtr
clipboard_
;
ContextWriterBridge
context_writer_bridge_
;
std
::
unique_ptr
<
Surface
>
surface_
;
flutter
::
LogicalMetrics
metrics_
;
fuchsia
::
ui
::
gfx
::
Metrics
scenic_metrics_
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录