chromium之extension机制简单分析三:webstore API实现

本文详细介绍了Chromium浏览器的Webstore API,包括其声明方式、对象绑定、API调用和Web应用的安装过程。在renderer进程中,webstore对象根据上下文类型被绑定,并在运行时注册钩子函数进行API调用前的验证。当用户尝试安装web应用时,V8引擎中的webstore_custom_binding.js通过Install方法触发native的WebstoreBindings,进而通过IPC消息在Browser进程中启动安装。安装过程涉及manifest文件的下载解析和资源文件的下载安装,包括URLFetcher的使用、JSON解析和图片解码。
摘要由CSDN通过智能技术生成

chrome.webstore.*是chrome平台实现的WebAPI之一,其主要功能就是从google的webstore应用商店安装web应用,本节主要从此webAPI的注册流程开始分析其实现原理,包括此API接口如何声明,如何绑定,以及如何触发,如何实现等过程。

1、WebAPI声明

实际上WebAPI的声明方式主要两种方式,即json方式和idl方式,这两种方式基本上等价,只不过idl方式更加简单清晰,json方式支持某些特有的扩展功能;此API的接口声明则是采用json方式(src/chrome/common/extensions/api/webstore.json):

[{
    "namespace": "webstore",
    "functions": [
    {
        "name": "install",
        "parameters": [
        {
            "name": "url",
        },
        {
            "name": "successCallback",
        },
        {
            "name": "failureCallback",
        }]
    }]
}]
为节省篇幅,这里仅列出了大体框架,可以看出该api调用方式应该为store.install(url, sucessCallback, failureCallback);

此外,在此目录下的_api_features.json文件中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值