- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TizenWebRunTime分析
Tizen框架图
几种通信方式
EFL基本结构图
安装application
执行application
Wrt-launch启动流程
如执行命令为:wrt-launch -s webui
则实际执行命令的应用为:
/opt/apps/org.tizen.webui/bin/1909224306 - /usr/bin/wrt-client
Js解析使用tizen-plugin
(1) 例如在js脚本内部有如下部分代码
function successCB(files) {
alert(There are + files.length + in the selected folder);
for (var i = 0; i files.length; i++) {
if (files[i].isDirectory == true) {
alert(directory name : + files[i].name);
}
else {
alert(file name : + files[i].name);
}
}
}
tizen.filesystem.resolve(
images,
function(dir){
dir.listFiles(successCB, errorCB)
}, function(e){
alert(Error + e.message);
}, r
);
下面我们转入wrt-plugins-tizen的代码,文件standards/Tizen/Filesystem/plugin_initializer.cpp内容
#define WRT_JS_EXTENSION_OBJECT_TIZEN tizen
PLUGIN_CLASS_MAP_ADD_CLASS(WRT_JS_EXTENSION_OBJECT_TIZEN,filesystem,
(js_class_template_getter)TizenApis::Tizen1_0::JSFilesystemManager::getClassRef,
NULL)
JSFilesystemManager::resolve();
这里就进入了tizen的plugin插件中运行
WebKit内部
ViewLogic::initializeEwkContext()
ewk_context_message_from_injected_bundle_callback_set(
newEwkContext,
contextMessageFromInjectedBundleCallback,
static_castvoid*(this));
-------------------------------------------------------------webkit2----
ewkContextDidReceiveMessageFromInjectedBundle();
ewkContextInjectedBundleClientAttachClient()
{
WKContextInjectedBundleClient injectedBundleClient = {
…,
didReceiveMessageFromInjectedBundle,
…};
WKContextSetInjectedBundleClient(ewk_context_WKContext_get(ewkContext), injectedBundleClient);
}
WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle(
(WebContext* context, const String messageName, APIObject* messageBody)
{
m_client.didReceiveMessageFromInjectedBundle(toAPI(context), toAPI(messageName.impl()), toAPI(messageBody), m_client.clientInfo);
}
void WebContext::didReceiveMessageFromInjectedBundle(const String messageName, APIObject* messageBody)
{
您可能关注的文档
最近下载
- 高一数学(必修二)立体几何初步单元测试卷及答案.docx VIP
- “二次元经济”崛起背后的商业逻辑.docx VIP
- 【阶段测试】人教版数学六年级上册第一单元《分数乘法》单元测试卷27.doc VIP
- 中国谷子经济分析:从哪吒旋风看二次元IP衍生品市场崛起.pdf VIP
- 2025年全国高考山东省物理真题试卷(含答案).pdf
- 2025年人教版数学六年级上册单元测试卷-第一单元 分数乘法(含答案).pdf VIP
- 《不负'食'光拒绝浪费》班会课件.pptx VIP
- 部编本《一块奶酪》优质课公开课教案课堂教学实录.docx VIP
- DB13T 5448.3-2021 工业取水定额 第3部分:医药行业.docx VIP
- 山东省安装工程消耗量定额(2016).pdf
文档评论(0)