Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
weixin_43355755
engine
提交
e2b41493
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,发现更多精彩内容 >>
提交
e2b41493
编写于
8月 27, 2015
作者:
A
Alhaad Gokhale
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Go back to master.
上级
c9a71499
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
27 addition
and
23 deletion
+27
-23
services/sky/document_view.cc
services/sky/document_view.cc
+3
-2
sky/engine/public/sky/sky_view.cc
sky/engine/public/sky/sky_view.cc
+20
-20
sky/engine/public/sky/sky_view.h
sky/engine/public/sky/sky_view.h
+2
-1
sky/shell/ui/engine.cc
sky/shell/ui/engine.cc
+2
-0
未找到文件。
services/sky/document_view.cc
浏览文件 @
e2b41493
...
...
@@ -130,6 +130,8 @@ void DocumentView::OnEmbed(
services_provided_by_embedder_
=
services_provided_by_embedder
.
Pass
();
Load
(
response_
.
Pass
());
UpdateRootSizeAndViewportMetrics
(
root_
->
bounds
());
root_
->
AddObserver
(
this
);
}
...
...
@@ -141,7 +143,6 @@ void DocumentView::LoadFromSnapshotStream(
String
name
,
mojo
::
ScopedDataPipeConsumerHandle
snapshot
)
{
if
(
sky_view_
)
{
sky_view_
->
RunFromSnapshot
(
name
,
snapshot
.
Pass
());
UpdateRootSizeAndViewportMetrics
(
root_
->
bounds
());
}
}
...
...
@@ -153,6 +154,7 @@ void DocumentView::Load(mojo::URLResponsePtr response) {
layer_host_
->
SetRootLayer
(
root_layer_
);
String
name
=
String
::
fromUTF8
(
response
->
url
);
sky_view_
->
CreateView
(
name
);
if
(
name
.
endsWith
(
".skyx"
))
{
AssetUnpackerJob
*
unpacker
=
new
AssetUnpackerJob
(
mojo
::
GetProxy
(
&
root_bundle_
),
...
...
@@ -167,7 +169,6 @@ void DocumentView::Load(mojo::URLResponsePtr response) {
network_service_
.
get
(),
CreatePrefetchedLibraryIfNeeded
(
name
,
response
.
Pass
())));
sky_view_
->
RunFromLibrary
(
name
,
library_provider_
.
get
());
UpdateRootSizeAndViewportMetrics
(
root_
->
bounds
());
}
scoped_ptr
<
Rasterizer
>
DocumentView
::
CreateRasterizer
()
{
...
...
sky/engine/public/sky/sky_view.cc
浏览文件 @
e2b41493
...
...
@@ -36,15 +36,33 @@ void SkyView::SetDisplayMetrics(const SkyDisplayMetrics& metrics) {
view_
->
setDisplayMetrics
(
display_metrics_
);
}
void
SkyView
::
CreateView
(
const
String
&
name
)
{
DCHECK
(
!
view_
);
DCHECK
(
!
dart_controller_
);
view_
=
View
::
create
(
base
::
Bind
(
&
SkyView
::
ScheduleFrame
,
weak_factory_
.
GetWeakPtr
()));
view_
->
setDisplayMetrics
(
display_metrics_
);
dart_controller_
=
adoptPtr
(
new
DartController
);
dart_controller_
->
CreateIsolateFor
(
adoptPtr
(
new
DOMDartState
(
name
)));
dart_controller_
->
InstallView
(
view_
.
get
());
Dart_Isolate
isolate
=
dart_controller_
->
dart_state
()
->
isolate
();
DartIsolateScope
scope
(
isolate
);
DartApiScope
api_scope
;
client_
->
DidCreateIsolate
(
isolate
);
}
void
SkyView
::
RunFromLibrary
(
const
WebString
&
name
,
DartLibraryProvider
*
library_provider
)
{
CreateView
(
name
);
DCHECK
(
view_
);
dart_controller_
->
RunFromLibrary
(
name
,
library_provider
);
}
void
SkyView
::
RunFromSnapshot
(
const
WebString
&
name
,
mojo
::
ScopedDataPipeConsumerHandle
snapshot
)
{
CreateView
(
name
);
DCHECK
(
view_
);
dart_controller_
->
RunFromSnapshot
(
snapshot
.
Pass
());
}
...
...
@@ -81,24 +99,6 @@ void SkyView::HandleInputEvent(const WebInputEvent& inputEvent) {
}
void
SkyView
::
CreateView
(
const
String
&
name
)
{
DCHECK
(
!
view_
);
DCHECK
(
!
dart_controller_
);
view_
=
View
::
create
(
base
::
Bind
(
&
SkyView
::
ScheduleFrame
,
weak_factory_
.
GetWeakPtr
()));
view_
->
setDisplayMetrics
(
display_metrics_
);
dart_controller_
=
adoptPtr
(
new
DartController
);
dart_controller_
->
CreateIsolateFor
(
adoptPtr
(
new
DOMDartState
(
name
)));
dart_controller_
->
InstallView
(
view_
.
get
());
Dart_Isolate
isolate
=
dart_controller_
->
dart_state
()
->
isolate
();
DartIsolateScope
scope
(
isolate
);
DartApiScope
api_scope
;
client_
->
DidCreateIsolate
(
isolate
);
}
void
SkyView
::
ScheduleFrame
()
{
client_
->
ScheduleFrame
();
}
...
...
sky/engine/public/sky/sky_view.h
浏览文件 @
e2b41493
...
...
@@ -35,6 +35,8 @@ class SkyView {
void
SetDisplayMetrics
(
const
SkyDisplayMetrics
&
metrics
);
void
BeginFrame
(
base
::
TimeTicks
frame_time
);
void
CreateView
(
const
String
&
name
);
void
RunFromLibrary
(
const
WebString
&
name
,
DartLibraryProvider
*
library_provider
);
void
RunFromSnapshot
(
const
WebString
&
name
,
...
...
@@ -49,7 +51,6 @@ class SkyView {
private:
explicit
SkyView
(
SkyViewClient
*
client
);
void
CreateView
(
const
String
&
name
);
void
ScheduleFrame
();
SkyViewClient
*
client_
;
...
...
sky/shell/ui/engine.cc
浏览文件 @
e2b41493
...
...
@@ -166,6 +166,7 @@ void Engine::OnInputEvent(InputEventPtr event) {
void
Engine
::
RunFromLibrary
(
const
std
::
string
&
name
)
{
sky_view_
=
blink
::
SkyView
::
Create
(
this
);
sky_view_
->
CreateView
(
blink
::
WebString
::
fromUTF8
(
name
));
sky_view_
->
RunFromLibrary
(
blink
::
WebString
::
fromUTF8
(
name
),
dart_library_provider_
.
get
());
sky_view_
->
SetDisplayMetrics
(
display_metrics_
);
...
...
@@ -175,6 +176,7 @@ void Engine::RunFromSnapshotStream(
const
std
::
string
&
name
,
mojo
::
ScopedDataPipeConsumerHandle
snapshot
)
{
sky_view_
=
blink
::
SkyView
::
Create
(
this
);
sky_view_
->
CreateView
(
blink
::
WebString
::
fromUTF8
(
name
));
sky_view_
->
RunFromSnapshot
(
blink
::
WebString
::
fromUTF8
(
name
),
snapshot
.
Pass
());
sky_view_
->
SetDisplayMetrics
(
display_metrics_
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录